我用MVSC ++编写了一个输出内存内容的程序(ASCII码)。 在Windows控制台中看到的ASCII似乎与我在各种ASCII表格(笑脸,钻石,俱乐部,右箭头等)中看到的相符。 这个程序需要在Linux下进行编译(这是的),但是ASCII输出看起来完全不同。 几个符号是相同的,但其余的是如此不同。 有没有办法改变terminal如何显示ASCII码?
编辑:程序正确执行,它只是正在显示不同的ASCII。
在键盘上键入ALT + 251和ALT + 0251会生成不同的字符条目
Java代码意外地将“&#13”附加到行尾
如何在Linux中将Linux密钥从/ dev / input / event *转换为ASCII?
如何在Windows中从未知格式的二进制文件中提取ASCII数据?
ASCII定义从0x00到0x7f的字符代码。 其他所有内容(0x80-0xff)不是ASCII标准的一部分,取决于操作系统定义的显示字符。 但是,您提到的字符(笑脸,钻石,棍棒等)是ASCII“控制字符”的表示,通常不具有可视化表示。 Windows允许你打印这些字符,并查看它为它们定义的字形,但是你的Linux可能将控制字符解释为格式化控制代码(它们是),而不是打印相应的字形。
你所看到的是IBM最初在个人电脑被引入世界时所包含的“扩展”字符集。 是的,我们要回到强大的恐龙时代,所以忍耐着我。 这些角色生活在$ 7F以上,屏幕上的符号的解释甚至可以被选择的字体影响。 现在大多数Linux发行版都使用UTF-8(或者其他的东西),因此安装的字体可能会有完全不同的符号,甚至可能会丢失字形。 如果您要比较相同数据的“ASCII”表示(这是错误的,因为它不是真正的ASCII),它可能会或可能不完全匹配,因为您必须在两个显示字体中具有相同的“字形”正确地看到类似的表示。 尝试让Windows和Linux安装程序尽可能使用相同的字体,然后查看是否有更改。
如果你的浏览器支持Unicode(并且你已经安装了正确的字体),你可以在下面看到它们。 您可以复制并粘贴到支持Unicode的编辑器(记事本)。 保存为UTF-16BE然后,如果您在HexEditor中打开,您将看到每个字符可见字形的所有Unicode码。 在例子中,第一个ascii char Null在c c ++ java中有Unicode可见字形0x2639,你可以像使用它一样使用它。 它不是空字符,而是视觉表示。
http://en.wikipedia.org/wiki/Code_page_437
☹☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕!¶§▬↨↑↓→←∟↔▲▼!“#$%&'()* +, – 。/ 0123456789 :; <=> @ ABCDEFGHIJKLMnopQRSTUVWXYZ [] ^ _`ABCDEFGHIJKLMnopQRSTUVWXYZ?{|}〜⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢¥£₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├ ─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσμτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■⓿
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。