maker 发表于 2008-12-1 14:15:58

UnicodeHex($string)的问题

下面的函数单独编译出来可以返回中文字符,怎么放在整个程序环境内部返回的中文字符的16进制代码全是0,
有可能是哪里出的问题呢?不用中文就可以正常返回代码
后来检测问题情况如下:
放进去除了中文,其他都正常能返回,其实不是在返回时出错,在取字符时就错
中文字符用StringMid取1字符取出来就是?
中文字符用StringMid取2字符取出来是正确的,但是其他字符就会出现乱码
有什么办法吗?

Func UnicodeHex($string)
        Local $char
        Local $code
        Local $all=""
                For $i = 1 to StringLen($string)
                        $char = StringMid($string, $i, 1)
                        $code = Hex(Ascw($char),4)
                        $code =StringRight($code,2) & StringLeft($code,2)
                        $all=$all & " " & $code
                Next
        Return $all
EndFunc

[ 本帖最后由 maker 于 2008-12-1 19:19 编辑 ]

liongodmien 发表于 2008-12-1 16:06:29

这个单独没问题,那可能是脚本环境设置的问题了吧

netegg 发表于 2008-12-1 16:07:27

什么意思呀,给个例子,按语法看应该没问题呀

maker 发表于 2008-12-1 17:26:08

我的程序太长了,我不知道哪个地方出的问题,放进去除了中文,其他都正常能返回,其实不是在返回时出错,在取字符时就错,中文字符用StringMid取出来就是?

liongodmien 发表于 2008-12-1 20:04:11

那要从调用处开始往上作扩散式的检查了

maker 发表于 2008-12-1 21:04:03

上层没什么了,就是按钮点击后调用udp发消息,字符串获取都是没问题,检查过了

liongodmien 发表于 2008-12-2 09:48:35

那是否是一开始就不正常,还是在使用了某一行代码后才不正常的?可以试一下一开始就调用此函数看是否正常.把错误的出处范围缩小

maker 发表于 2008-12-2 11:37:36

试过,直接调用函数,不获取,用手动编个字符串也一样,后来看了看还是用udp直接发送字符串了,不改16进制了,也不知道会有什么问题不
页: [1]
查看完整版本: UnicodeHex($string)的问题