Javascript 半幅和全幅字符的用途是什么?

Javascript 半幅和全幅字符的用途是什么?,javascript,unicode,internationalization,Javascript,Unicode,Internationalization,半幅和全幅字符的用途是什么?它们之间的区别是什么 我很好奇,因为(一个开源字符串验证库)有两个函数可以评估给定输入的性能: isFullWidth(str) isHalfWidth(str) isVariableWidth(str) 为什么有人想评估某个文本的形式 在内部,库使用此正则表达式模式确定输入是否为全宽: /[^\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/ 此模式用于确定输入是否为半宽: /[\u0

半幅和全幅字符的用途是什么?它们之间的区别是什么

我很好奇,因为(一个开源字符串验证库)有两个函数可以评估给定输入的性能:

isFullWidth(str)
isHalfWidth(str)
isVariableWidth(str)
为什么有人想评估某个文本的形式

在内部,库使用此正则表达式模式确定输入是否为全宽:

/[^\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/
此模式用于确定输入是否为半宽:

 /[\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]/

这些代码点范围的意义是什么

它们用在亚洲语言中。汉语和其他基于汉字的语言具有形成非常网格状文本块的独特特性,因为汉字/汉字是方形的:

漢字,在中國亦称中文字、中国字、方塊字,是漢字文化圈廣泛使用的一種文字,也是世界上唯一仍被廣泛使用的高度發展的語素文字。廣義的漢字指從甲骨文、大篆、金文、籀文、小篆,至隶书、草书、楷书(以及衍生的行书)等的文字,狹義指以正楷作為標準寫法的漢字,也是今日普遍使用的現代漢字。漢字在古文中只稱「字」,少數民族為區別而稱「漢字」,指漢人使用的文字。

你会注意到,即使是标点符号也会保留字符的列式布局。在其中穿插一些规则的半宽或动态宽度拉丁语会破坏这种布局:

漢字,在中國亦称中文字、中国字、方塊字,是漢字文化圈廣泛使用的一種文字,也是世界上唯一仍被廣泛使用的高度發展的語素文字。这是一些不规则的拉丁语。廣義的漢字指從甲骨文、大篆、金文、籀文、小篆,至隶书、草书 (还有一些)楷书(以及衍生的行书)等的文字 (还有更多)狹義指以正楷作為標準寫法的漢字,也是今日普遍使用的現代漢字。漢字在古文中只稱「字」,少數民族為區別而稱「漢字」,指漢人使用的文字。

全宽拉丁字符旨在通过嵌入汉字大小的正方形来保留块布局:

漢字,在中國亦称中文字、中国字、方塊字,是漢字文化圈廣泛使用的一種文字,也是世界上唯一仍被廣泛使用的高度發展的語素文字。Here's some regular latin.廣義的漢字指從甲骨文、大篆、金文、籀文、小篆,至隶书、草书、楷书(以及衍生的行书)等的文字,狹義指以正楷作為標準寫法的漢字,也是今日普遍使用的現代漢字。漢字在古文中只稱「字」,少數民族為區別而稱「漢字」,指漢人使用的文字。


本质上,在这种情况下,它看起来和读起来都更好。

?@Lashane我读过,但我不明白。是我自己,还是你例子中的标点符号是半宽字符?它们是“紧”逗号(与日本更常见的逗号相反:),但它们应该呈现为汉字的全宽。