+ -
当前位置:首页 → 问答吧 → 高手帮忙解决下 chr函数问题 急!!!!

高手帮忙解决下 chr函数问题 急!!!!

时间:2011-11-23

来源:互联网

如果我使用chr函数,chr(160)则会是一个看不见的字符(其实参数从128--255都是这样的情况),用Asc(chr(160))后,对应的值也都为0; 当使用ChrW(160)的时候,从128--255之间的字符都可以看见了,并且AscW(ChrW(160))后也能正确的得到相应的值,看到书上的说明是支持DBCS的系统,chrW和chr结果会不一样,能给我详细讲下这个是什么原因不??????
还有一个相关的问题就是 我使用Chrw(160) 函数时,我自己写的函数用ASCW(chrw()) 可以得到A0,可是我用抓包工具获取我发出的数据时,结果看到的值是3F(chrw参数从128---255都将会这个结果3f),这个问题 应该怎么解决,希望给我指条名路,谢谢了。。。。。。 

作者: daicx16306   发布时间: 2011-11-23

ChrW获得UniCode编码,当超过127时要用它。

作者: Veron_04   发布时间: 2011-11-23

引用 1 楼 veron_04 的回复:
ChrW获得UniCode编码,当超过127时要用它。

 
 恩,可是为什么我用抓包工具得到的,数据不是A0,而是3F呢????

作者: daicx16306   发布时间: 2011-11-23

chr(160)其160的最高位为1,该数据指明必须将2个字节作为一个编码,但是160本身只有1个字节,被看做非法数据,所以被作为0编码看待。

chrw其参数都是以2个字节进行解释的

作者: worldy   发布时间: 2011-11-23

引用 3 楼 worldy 的回复:
chr(160)其160的最高位为1,该数据指明必须将2个字节作为一个编码,但是160本身只有1个字节,被看做非法数据,所以被作为0编码看待。

chrw其参数都是以2个字节进行解释的


哦,那要能正确的发送这个数据,我应该怎么处理呢?是不是就不能使用chrw这个函数了????

作者: daicx16306   发布时间: 2011-11-23

3F是问号,你把超过128的半个字节单独作为文本使用,系统一般就当成?处理

作者: alifriend   发布时间: 2011-11-23

引用 5 楼 alifriend 的回复:
3F是问号,你把超过128的半个字节单独作为文本使用,系统一般就当成?处理


那怎么样才能使超过128的都可以被正确的读取到呢???

作者: daicx16306   发布时间: 2011-11-23

引用 5 楼 alifriend 的回复:
3F是问号,你把超过128的半个字节单独作为文本使用,系统一般就当成?处理

chr(160)将会是?符号,然后发送出去,抓包工具得到的就是3F,是这样吗??可是这个不是我想要的。。
我想要的是chr(160) 传出去后,抓包工具得到的就是A0。

作者: daicx16306   发布时间: 2011-11-23

用字节数组直接处理,不要转换成字符。

作者: chinaboyzyq   发布时间: 2011-11-23

热门下载

更多