【问题标题】:How to get a character from an extended ascii number如何从扩展的 ascii 数字中获取字符
【发布时间】:2015-04-01 17:33:42
【问题描述】:

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

【问题讨论】:

  • ASCII 不存在超过 127。有很多标准可以对高位进行编码。
  • 您能否提供一个简单的 actionscript 示例。我假设它是一两行代码?

标签: string actionscript extended-ascii


【解决方案1】:

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

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多