text - 文本编辑器如何存储 1 个字节以上的数据?

标签 text unicode character ansi notepad

基本问题是,记事本(或其他基本文本编辑器)如何存储数据。我遇到了这个问题,因为我试图比较不同压缩技术的文件大小,并意识到有些不对劲。

详细说明..

如果我保存一个包含以下内容的文本文件:

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 ChartWindows-1252

所以对于 字符,其代码为134 , 字节 0x86 .

关于text - 文本编辑器如何存储 1 个字节以上的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37267414/

相关文章:

c# - 在浏览器中以 45 度 Angular 显示文本的选项

windows - 如何在 Windows 上的浏览​​器中输入 Unicode 字符?

java - 如何为特定类编写 hashCode 方法?

linux - 在 Linux 中获取最新的 100MB 的文本文件

javascript - 在段落中为省略号创建空间

vb.net - 在 VB.NET 中写入和读取 .ini 文件

jquery - 如何转义 JSON 字符串中的 unicode 语法 (u'foo')?

Python unicode.splitlines() 在非 EOL 字符处触发

将 R 中长破折号的所有实例替换为常规减号

c++ - Char模板类型参数