razc 发表于 2012-7-20 20:50:28

u6697\u9ed1\u897f\u6e38\u8bb0 这样的编码如何转换为中文?

如何在AU3上里面转换出来!

kevinch 发表于 2012-7-20 21:05:43

$str="\u6697"
$str=StringReplace($str,"\u","0x")
MsgBox(0,"",ChrW($str))这样试下

lpxx 发表于 2012-7-20 22:34:10

本帖最后由 lpxx 于 2012-7-20 22:37 编辑

解密结果 暗黑西游记

去掉\u,还原十六进制就可以了。

lpxx 发表于 2012-7-20 23:04:45

依照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)

komaau3 发表于 2012-7-21 07:41:09

这么多答案 ,原理一样 我这效率可能偏慢 不过适合混杂编码文本处理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

whitehead 发表于 2012-7-22 12:10:22

标记一下,备用
页: [1]
查看完整版本: u6697\u9ed1\u897f\u6e38\u8bb0 这样的编码如何转换为中文?