u6697\u9ed1\u897f\u6e38\u8bb0 这样的编码如何转换为中文?
如何在AU3上里面转换出来! $str="\u6697"$str=StringReplace($str,"\u","0x")
MsgBox(0,"",ChrW($str))这样试下 本帖最后由 lpxx 于 2012-7-20 22:37 编辑
解密结果 暗黑西游记
去掉\u,还原十六进制就可以了。 依照2楼的代码
$str = "\u0020\u0041\u0075\u0074\u006f\u0049\u0074\u4e2d\u6587\u8bba\u575b"
$a = StringSplit(StringReplace($str, "\u", Chr(44)), Chr(44))
$b = ""
For $i = 2 To $a
$b = $b & ChrW("0x" & $a[$i])
Next
MsgBox(0, "", $b)
这么多答案 ,原理一样 我这效率可能偏慢 不过适合混杂编码文本处理Local $str = '\u6697\u9ed1\u897f\u6e38\u8bb0'
ConsoleWrite(UniDecode($str) & @CRLF)
Func UniDecode($sUni, $sExp = '\\u')
Local $sStr = ''
$sHex = StringRegExp($sUni, $sExp & '(\w{4})', 3)
If @error = 0 Then
For $i = 0 To UBound($sHex) - 1
$sText = ChrW(Dec($sHex[$i]))
$sStr = StringRegExpReplace($sUni, $sExp & $sHex[$i], $sText, 1)
$sUni = $sStr
Next
EndIf
Return $sStr
EndFunc ;==>UniDecode 标记一下,备用
页:
[1]