Encoding “编码的是哪种编码失败?”;vóó;r";变成;v3/43/4r;?

Encoding “编码的是哪种编码失败?”;vóó;r";变成;v3/43/4r;?,encoding,Encoding,不久前,我在一份文件中看到了文本 我知道它来自“vór”(the),我想知道是哪个编码错误导致了这个错误。不久前,我写了一个程序,半自动地进行这个分析(也许我会在某个时候发布它…),下面是结果,带着一点想象力: ó:是U+00F3,在许多不同的编码中占据相同的码点(0xF3)(大多数ISO-8859-*和大多数西方Windows-*) 在CP850中,码脚0xF3为¾(U+00BE),即四分之三字符。在其他使用较少的代码页(CP775、CP856、CP857、CP858)中也是如此 当字符不能

不久前,我在一份文件中看到了文本


我知道它来自“vór”(the),我想知道是哪个编码错误导致了这个错误。

不久前,我写了一个程序,半自动地进行这个分析(也许我会在某个时候发布它…),下面是结果,带着一点想象力:

  • ó:是U+00F3,在许多不同的编码中占据相同的码点(0xF3)(大多数ISO-8859-*和大多数西方Windows-*)
  • 在CP850中,码脚0xF3为¾(U+00BE),即四分之三字符。在其他使用较少的代码页(CP775、CP856、CP857、CP858)中也是如此
  • 当字符不能直接使用时,¾有时被音译为3/4
你来了!“vór”->“v¾¾r”->“v3/43/4r”


第一部分(ó->¾)是西方Windows版本(在我的国家,ANSI=Windows-1252,OEM=CP850)中ANSI与OEM代码页的常见损坏。你可以很容易地看到,用记事本创建一个文件,编写
vór
,然后用
type

将其转储到命令提示符中。奇怪的是,3/4对我来说不是很直观的东西,我认为这是一个单字节代码页问题,但我想知道是哪个问题(:¾通常是单字节代码页中的0xBE hanks!臭名昭著的CP850再次出现(:作为补充:Unicode代码点00BE出现在各种代码页中。0xBE出现在1252、1256、1254、1255、1256、1257、1258、6937、8859-1、8859-8、8859-9、8859-13、UTI-T6.1中;0xF3出现在775、850、857、858中;0xAB出现在863中;0xB9出现在EBCDIC 037、285、500、1047中。大多数来自