有没有办法在 vbscript 中解析 utf 代码?我想做的是将字符串中的所有代码(如“\u00f1”)替换为其对应的字符。
问问题
1966 次
1 回答
1
该Unescape
函数执行*,仅要求 Unicode 字符以%u***xxxx*
格式编码。因此,您需要\u***xxxx*
先将代码替换为**%u***xxxx*
等效代码。这是一个例子:
str = "\u0044\u006F \u0063\u0061\u0074\u0073 \u0065\u0061\u0074 \u0062\u0061\u0074\u0073\u003f"
Set re = New RegExp
re.Pattern = "\\(u[a-f\d]{4})"
re.IgnoreCase = True
re.Global = True
str2 = Unescape(re.Replace(str, "%$1"))
MsgBox str2
*请注意,Unescape
也将%***xx*
字符串中的代码替换为相应的 ASCII 字符。因此,如果%***xx*
是字符串中的合法子字符串,则必须编写自己的替换函数。这样的功能可以执行以下操作:
- 搜索
**\u***xxxx*
输入字符串中出现的类似子字符串, - 从每个匹配项中提取字符代码,并将其从十六进制转换为十进制形式,
- 调用
ChrW
将十进制字符代码转换为相应的 Unicode 字符, **\u***xxxx*
用对应的字符替换每个匹配项。
于 2010-02-15T19:22:43.843 回答