Text UTF8文本文件中发现奇怪的数据字节

Text UTF8文本文件中发现奇怪的数据字节,text,unicode,utf-8,converter,Text,Unicode,Utf 8,Converter,我的任务是将非常旧的文本文件(逗号分隔的表)转换为UTF-8JSON。 该文件包含合法UTF-8和非法数据的奇怪混合。有大量正确的2字节和3字节字符(带有0x1110xxxx长度前缀),大多数数据是ASCII范围32-127。非法字节样本为164、188、166、178、162、180、182、170 这是否意味着我要处理我必须解密的自定义编码,或者这可能是某种有文档记录的编码?或者我不正确地理解UTF-8编码?有什么见解吗 我觉得这是UTF-8和一些旧代码页的混合 样本1 22 2C 22

我的任务是将非常旧的文本文件(逗号分隔的表)转换为UTF-8JSON。 该文件包含合法UTF-8和非法数据的奇怪混合。有大量正确的
2字节
3字节
字符(带有
0x1110xxxx
长度前缀),大多数数据是ASCII范围
32-127
。非法字节样本为
164、188、166、178、162、180、182、170

这是否意味着我要处理我必须解密的自定义编码,或者这可能是某种有文档记录的编码?或者我不正确地理解UTF-8编码?有什么见解吗

我觉得这是UTF-8和一些旧代码页的混合

样本1

 22 2C 22 61 62 61 64 64 68 61 A2 22
这应该是“阿巴达”这个词ṃ" 在引号中,但正如您所看到的“ṃ“是A2吗

示例2几个字节之后,在奇怪的编码中看起来像是同一个单词

22 83 E0 86 E0 83 E0 8B E0 8B E0 93 E0 83 E0 B4 E0 22
示例3几个字节之后似乎是有效的UTF-8:

EE 83 93 EE 82 97 │ EE 82 B2 EE 82 83
该文件包含合法UTF-8和非法数据的奇怪混合

可能无法可靠地恢复数据。而像
chardet
这样的东西可以用来“猜测未知编码”,如果您有一个文件,其中每一行都可以使用不同的编码,则可能没有足够的数据在每一行上进行合理的猜测,即使您有标准编码,但看起来您没有

这应该是“阿巴达”这个词ṃ“引用,但正如您所见”ṃ“是A2吗

没有将字节0xA2映射到U+1E43(带点的拉丁小写字母“m”)的标准编码。您可能有损坏的数据,或者您可能有自定义编码,即只能使用特殊字体读取的文本

EE 83 93 EE 82 97│ EE 82 B2 EE 82 83

这些是U+E0xx范围内的专用区域字符。它们没有标准含义,只能使用特殊字体正确读取

22 83 E0 86 E0 83 E0 8B E0 8B E0 93 E0 83 E0 B4 E0 22

这些是类似的专用区域字符,但编码为UTF-16LE,在普通的非UTF-16引号和行尾内。这尤其棘手,因为您无法确定引号和行尾在哪里,因为0x22和0x0A是代码单元内完全有效的字节

看起来这个文件有点破烂,如果没有大量的手工破解,它可能根本不可用。看看你是否能找到关于它的遗产的任何东西,以及是否有其他东西消耗了它。如果有一个自定义字体用于它的自定义“视觉编码”,你可能会更接近它

该文件包含合法UTF-8和非法数据的奇怪混合

可能无法可靠地恢复数据。而像
chardet
这样的东西可以用来“猜测未知编码”,如果您有一个文件,其中每一行都可以使用不同的编码,则可能没有足够的数据在每一行上进行合理的猜测,即使您有标准编码,但看起来您没有

这应该是“阿巴达”这个词ṃ“引用,但正如您所见”ṃ“是A2吗

没有将字节0xA2映射到U+1E43(带点的拉丁小写字母“m”)的标准编码。您可能有损坏的数据,或者您可能有自定义编码,即只能使用特殊字体读取的文本

EE 83 93 EE 82 97│ EE 82 B2 EE 82 83

这些是U+E0xx范围内的专用区域字符。它们没有标准含义,只能使用特殊字体正确读取

22 83 E0 86 E0 83 E0 8B E0 8B E0 93 E0 83 E0 B4 E0 22

这些是类似的专用区域字符,但编码为UTF-16LE,在普通的非UTF-16引号和行尾内。这尤其棘手,因为您无法确定引号和行尾在哪里,因为0x22和0x0A是代码单元内完全有效的字节


这个文件似乎有点垃圾,如果没有大量的手工破解,它可能根本不可用。看看你是否能找到关于它的遗产的任何东西,以及是否有其他东西消耗它。如果有一个自定义字体用于自定义“视觉编码”,你可能会更接近它。

以上所有内容?!:-)在UTF-8中,这些字节是多字节序列中的后续字节。显示一个真实的示例。从该文件中添加了几个示例。这个问题似乎离题了,因为它是关于解释来源不明的数据。您可能需要一位顾问,您需要向他们提供比此处提供的更多的信息。让他们访问关于文件的所有可用信息–其来源、历史记录、格式(是否确定为纯文本?),假定使用,等等,当然还有文件本身。这仍然很困难。上面所有的?!:-)在UTF-8中,这些字节是多字节序列中的后续字节。显示一个真实的例子。从该文件添加了一些示例。这个问题似乎是离题的,因为它是关于解释来源不明的数据。您可能需要一位顾问,以及您需要向他们提供比此处提供的信息多得多的信息。让他们能够访问有关该文件的所有可用信息–其来源、历史记录、格式(是否确定为纯文本?)、假定用途等,当然还有该文件本身。这仍然很困难。