如何从扩展的ascii数字中获取字符

时间:2015-04-01 17:33:43

标签: string actionscript extended-ascii

ascii代码图表说“ü”为129(十进制)。 但是,当我做一个跟踪(“ü”.charCodeAt(0))...我得到的答案是252 - 这显然是错误的。 似乎String.charCodeAt()仅适用于0-127。 如何在范围128-255的char和charcode值之间进行转换?

1 个答案:

答案 0 :(得分:0)

由于有多个字符集被称为“扩展ASCII”,因此对该术语没有多大意义。 ASCII本身很少使用。

正如您所发现的,了解您正在使用的字符集和编码非常重要。虽然有些库灵活地适应“平台默认”,但程序通常不是这样编写的,如果它们跨系统读取或写入数据,则灵活性没有实际意义。

没有文字,只有编码文字。当您传递某人文本时,如果您不将编码作为元数据提供,则会导致数据丢失。

ActionScript字符串是Unicode / UTF-16代码单元的序列。见charCodeAt()。与大多数字符集不同,Unicode有几种编码方式; UTF-16是其中两个。 (整数存储大端或小端,因此是UTF-16代码单元.UTF-16表示UTF-16BE或UTF-16LE,取决于平台,但通过在字符串中使用BOM,数据本身可以指定字节顺序并指示使用哪种Unicode编码。)

ü存储为一个UTF-16代码单元,其值为252.请参阅Unicode Character 'LATIN SMALL LETTER U WITH DIAERESIS' (U+00FC)UnicodeData.txt