【发布时间】:2012-09-13 02:48:40
【问题描述】:
这个正则表达式应该匹配所有非ASCII字符,0-128个码位:
/[^x00-x7F]/i
假设我想(只是出于好奇)用所有 Unicode 字符(0-1114111 个代码点)测试这个正则表达式。
使用range(0, 1114111) 生成这个范围可能很简单。然后我应该使用dechex() 函数将每个十进制数转换为十六进制。
之后,如何将十六进制数字转换为实际字符?以及如何排除 ASCII 方案中已有的字符?
【问题讨论】:
-
你想达到什么目的? unicode !== utf-8
-
@JvdBerg 我说的是 utf8 吗?例如,我正在尝试生成一个随机的可打印字符串...
-
@Gremo Unicode 是一种标准,而 UTF-8、UTF-16 和其他字符集是 unicode 的实现。我想大多数人会认为您使用的是 UTF-8,但事实可能并非如此。