我对ASCII编码几乎没有疑问:
答案 0 :(得分:2)
1)如何在ASCII编码中定义127个字符?它 应该是7位,这意味着2等于7的幂 128 ...缺少一个字符
NUL字符,其ASCII码为0.这就是你错过的那个。
2)当我将文本文件保存为textfile.txt时,应将其保存 ASCII编码对吗?但是当我在文件中写入10个字符时 它有10个字节,即80位,不应该是70?
存储系统(和主存储器)倾向于使用一个字节作为存储的最小信息,因此一个标准ASCII字符的文件每个字符浪费一位。非英语用户对此表示感谢,因为它允许将ASCII扩展到8位,从而提供代码来存储突出的人声和类似的东西。
3)如何将文件保存为一种每码7位的ASCII码 性格?
确保所有文件内容都是ASCII标准。但是,您不会恢复那些丢失的位。不过,压缩算法可能会利用这一点来挤压文本文件。
4)一些软件仍然使用ASCII编码来存储 信息?
绝大多数软件甚至使用ASCII来编码非ASCII的东西。值得注意的例子:电子邮件,以及您正在阅读的这个页面的HTML源代码。
答案 1 :(得分:2)
1)Ascii有128个值,但它们像大多数计算机阵列一样从0-127枚举。 0表示null 2)ascii适合8位,或者你使用扩展的8位版本 3)定义自己写入字节流的程序,然后自己检查字节 4)大多数可读文本都是使用UTF编码的,但只需要基本字符的东西,比如计算机代码,仍然可以使用ascii。
答案 2 :(得分:0)
退后一步......
ASCII是一种古老的,几乎过时的字符集。也就是说,几乎所有使用的字符集都是ASCII的超集并具有兼容的编码。例如,Unicode具有UTF-8编码,该编码映射与ASCII相同的前128个字符的字节。 Windows-1252有251个字符,前128个与ASCII相同。
许多现代编程环境使用Unicode(至少是源代码和/或字符串):Java,.NET,XML,HTML,....
因此,如果您正在阅读文件,请不要认为它是ASCII。而且,如果您正在编写文件,如果编程环境使用Unicode并且强制输出为ASCII,则可能会丢失数据。在任何一种情况下,读者和作者都应该知道预期的字符集和编码。