基本问题是,记事本(或其他基本文本编辑器)如何存储数据。我遇到了这个问题,因为我试图比较不同压缩技术的文件大小,并意识到有些不对劲。
详细说明..
如果我保存一个包含以下内容的文本文件:
a
该文件为 1 个字节。这恰好是 97 或 0x61。
我创建了一个包含以下内容的文本文件:
!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
这是从 0-255 或 0x00 到 0xFF 的所有字符。
这个文件是 256 字节。每个字符 1 个字节。这对我来说很有意义。
然后我将以下字符附加到上述字符串的末尾。
†
上述字符串中未包含的字符。所有 8 位字符都已使用。这个字符是 8224 或 0x2020。一个 2 字节的字符。
然而,文件大小仅从 256 字节变为 257 字节。其实上面自己保存的字符只显示了1个字节。
我错过了什么?
编辑:请注意,在第二个文本块中,许多字符没有显示在此处。
最佳答案
在 ANSI
编码(此 8 位 Microsoft 特定编码),您将每个字符保存在一个字节(8 位)中。ANSI
也叫 Windows-1252
, 或 Windows Latin-1
你应该看看ANSI
表在 ANSI Character Codes Chart或 Windows-1252
所以对于 †
字符,其代码为134
, 字节 0x86
.
关于text - 文本编辑器如何存储 1 个字节以上的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37267414/