use*_*999 5 unix windows ascii
我想在文件中打印值'½'.我搜索了ascii值,因为Alt +(ascii Value)会给你相同的.令我惊讶的是,我在各个站点中找到了此符号的2个ascii值.一个是171,另一个是189.
我尝试使用171和189来编写这个符号.令我惊讶的是,如果我在Windows中编写,171将给我这个符号.但如果我在UNIX中写作,189会给我这个符号.
我知道同一个符号不能有2个ASCII值.但是我在不同的操作系统中获得了相同符号的2个有效代码.所以任何人都可以告诉符号½的真正ASCII码是什么?
Cod*_*ray 18
½不是ASCII字符集中的字符.
您在网上找到的值可能不同,因为它们使用不同的字符集.例如,在发明Unicode之前,Windows的本地化版本都使用不同的代码页,其中基本的ASCII集扩展了一些额外的字符.
当然,现在,一切都是(或应该)完全是Unicode.可以在此处找到该字符的详细Unicode信息(粗俗的一半).注意,对于相同的数值也存在多个表示(例如,基数10,十六进制,二进制等).
请阅读ASCII维基百科页面。您将了解到 ASCII 没有“二分之一”字符。
现在,大多数系统都可以配置为使用UTF-8编码(这是“默认”或至少是 Web 和 Unix 系统上最常用的编码)。
UTF-8是一个编码的可变长度为Unicode的。这么多字符或字形由几个字节表示。对于½(官方的粗俗分数二分之一unicode字符)它的UTF8编码是两个十六进制字节0Xc2 0xBD,所以在C表示法中\302\275
我正在使用 Linux Gnome 字符映射实用程序gucharmap来查找所有这些。
您可能对UTF-32(使用 32 位字符的固定长度编码,其中 ½ 由 0x000000BD 表示)或什至UTF-16½感兴趣,其中许多字符是 16 位(特别是 0x00BD,例如一个 16 位字符) UTF-16),但不是全部。您可能还对宽字符感兴趣,即wchar_t最近的C或C++标准(在 Windows 上是 UTF-16,在许多 Unix 上是 UTF-32)。
FWIW,Qt 使用QChar作为 UTF-16(Java 也有 UTF-16 char...),但 Gtk 使用 UTF-8,即可变长度字符。
请注意,对于像 UTF-8 这样的可变长度字符编码,获取字符串中的第 N 个字符(不是第 N 个字节!)需要扫描字符串。此外,某些字节组合不是有效的 UTF-8。
小智 5
在Windows中,如果您使用ALT代码,3位数将插入等效的"代码页850"字符,因此ALT+ 171将插入½符号
189是½符号的ANSI/UTF-8/WIN-1252/ISO8859-1值.要使用ANSI的ALT代码,必须先按0,所以ALT+ 0189插入½符号
| 归档时间: |
|
| 查看次数: |
27319 次 |
| 最近记录: |