是否有一个unicode范围是前128个字符的副本?

时间:2012-03-01 11:19:47

标签: text unicode

我希望能够将其他字符放入文本而不会被计算机解释。所以想知道是否有一个范围被定义为映射到与0-0x7f范围(ascii范围)相同的字形等。

请注意我声明0-0x7f的范围与ascii相同,所以问题不在于ascii的范围映射。

我在问是否有另一个范围也映射到相同的字形。 I.E渲染时看起来会一样。但是当解释时可能会被视为不同的代码。

所以我可以写

打印“你好”世界“

粗体字符避免0-0x7f(ascii范围)

其他: 我的意思是单调和行为,除了不同的代码点之外,一切都是相同的。我正在跳过整个ascii / 128bit设置,直接映射(一个偏移添加到它们全部)。

原因:避免使用任何使用ascii字符作为其语言一部分的语言进行解释,但允许使用文字字符串中的任何unicode字符,例如: (当uft-8编码时)C,html,css,...

我试图修复“无保留字”/“字颜色”(字符串文字一种颜色,另一种关键字,另一种变量,另一种数字等)的概念,以便字符串文字或变量名称(虽然不是在这种情况下)可以包含任何字符。

3 个答案:

答案 0 :(得分:3)

我将这个问题解释为“是否存在一组与低7位ASCII集同形的代码点”。答案是否定的。

有一些代码点通常以单色形式呈现(例如,CyrillicupparcaseАU+ 0410看起来与许多字体中的ASCII 65相同,并且在支持此代码点的大多数字体中非常相似)但它们是不同的代码点,具有不同的代码点语义。类似地,有一些代码点基本上呈现相同,但具有一组特定的语义,如非破坏空间U + 00A0,它与ASCII 32相同,但被指定为具有特定的换行属性;或者正确的单引号MARK U + 2019是一个明确的引号,而不是它的双ASCII 39,即“撇号”。

但总的来说,基本ASCII块中有许多符号与另一个代码块中的同形异义词不一致。但是,您可以找到样本句子的同形异义词或近似同形异义词;我会调查IPA语音符号以及希腊语和西里尔语块。

答案 1 :(得分:2)

问题的答案是“不”,正如@tripleee所描述的那样,但如果目的是诡计或某种乐趣,则以下注释可能是相关的:

除了空格之外的可打印ASCII字符已在U + FF01到U + FF5E处重复,但这些是用于CJK文本的全角字符。他们的形状是(并且意味着)不同:你好世界。 (您的浏览器可能无法呈现它们。)因此它们与ASCII字符不是真正的同形,但可以用于某些特殊目的。 (我不知道这里的目的是什么。)

答案 2 :(得分:-1)

取决于您使用的Unicode标准。

在UTF-8中,前128个字符与代码编号具有完全相同的ASCII字符。在UTF-16中,前128个ASCII字符在0x0000和0x007F之间(2个字节)。