0

我正在生成一个包含这样的数据的文件。

78,45,New things,200, Number of columns,2.00,5

当我在 textpad 中使用 textformat 二进制类型打开文件时。

0: FF FE 33 00 36 00 2C 80 00 20 30 10 4F 7.8.4.5,4.5,

在数据部分,它在两个连续数字之间有 (.)。

4

1 回答 1

2

您的十六进制查看器正在显示文件中每个字节的 ASCII 值。但是,该文件似乎保存为 Unicode(它以 FF FE 开头,它是一个 unicode BOM)。通常文本编辑器会正确识别此 BOM(记事本和 Notepad++ 一样,我不熟悉 Textpad)。

请注意,十六进制查看器几乎普遍使用 . 字符来表示不能呈现为 ASCII 字符(或来自用户 OEM 集的字符)的字节值。

实际编码看起来像 unicode,例如 33 00 和 36 00 是数字,尽管它们代表 36 而不是 78,所以问题右侧的 ASCII 表示实际上与左侧的字节值不匹配。

字符串:- "78,45,N" 当保存为 Litte-endian unicode 文件时,在十六进制视图中看起来像这样:-

FF FE 37 00 38 00 2C 00 34 00 35 00 2C 00 4E 00 ..7.8.,.4.5.,.N.

因此,要么保存内容的方法非常奇怪并且弄乱了编码,要么 Textpad 没有正确处理它(或者您没有正确使用 Textpad)。用记事本打开文件,看起来没问题吗?

于 2008-12-19T11:17:02.330 回答