搜索
编程论坛
→
数据库技术
→
『 VFP论坛 』
→ 请教字符存储问题
标题:
请教字符存储问题
只看楼主
wwslf11
等 级:
新手上路
帖 子:14
专家分:0
注 册:2013-1-27
第
11
楼
得分:0
回复 10楼 sdta
这两个函数和substr()是等价的,我就是用substr()在字符串中截取时发现的chr(244)+chr(1)会合并成一个字符来表示的。有没有什么方法直接读二进制流?
2013-01-31 21:47
wwslf11
等 级:
新手上路
帖 子:14
专家分:0
注 册:2013-1-27
第
12
楼
得分:0
回复 7楼 hu9jj
是从winsocket控件中get的一段数据,我是用一个字符串流来存储这段数据,然后再从中提取出asc()来获取数据。有别的办法没?
2013-01-31 21:49
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
13
楼
得分:4
它没有合并,你并不需要显示它,这两个是不可显示字符。
授人以渔,不授人以鱼。
2013-01-31 23:06
wp231957
来 自:神界
等 级:
版主
威 望:
422
帖 子:13681
专家分:53296
注 册:2012-10-18
第
14
楼
得分:4
这个分ascii码子 和非ascii码子(比如汉字等)
DO IT YOURSELF !
2013-01-31 23:08
wwslf11
等 级:
新手上路
帖 子:14
专家分:0
注 册:2013-1-27
第
15
楼
得分:0
回复 14楼 wp231957
非asc字怎样操作呢?比如说把他转换成16进制打印出来
2013-02-01 11:03
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
16
楼
得分:0
不知道你要看这种非可打印字符干什么,要看每个字符的内码:
程序代码:
cString
=
你的字符串 ?
FOR
nIndex
=
1
TO
LEN
(cString) ??
ASC
(SUBSTR(cString, nIndex,
1
)) ?? " "
NEXT
?
授人以渔,不授人以鱼。
2013-02-01 19:36
wwslf11
等 级:
新手上路
帖 子:14
专家分:0
注 册:2013-1-27
第
17
楼
得分:0
回复 16楼 TonyDeng
winsock控件直接直接把asc值大于的128的字节和后一个字节当成了一个汉字来存储了,不知道有没有办法解决?
2013-02-01 19:50
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
18
楼
得分:0
winsock自己又不解释数据,是通讯的双方解释数据,发送方和接收方不把那这样的字节解读为汉字就行了。winsock发送数据,首先是讯号,通知对方接下来的是什么,你只要按照协议处理这样的字节就可以了,解读成功,知道接下来是什么,就能正确接收和发送。
授人以渔,不授人以鱼。
2013-02-01 19:55
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
19
楼
得分:0
其实winsock控件自己会解释那些数据,如果你非要自己解读,就必须先了解通讯使用的是什么协议并查阅相关的技术资料,了解每一个数据包如何解读,而且这东西还跟版本有关。
授人以渔,不授人以鱼。
2013-02-01 20:05
wwslf11
等 级:
新手上路
帖 子:14
专家分:0
注 册:2013-1-27
第
20
楼
得分:0
回复 19楼 TonyDeng
按道理讲应该是这样的,但是从getdata()里面读出来的数据。第12字节13字节14字节的数据应该是244,1,0但是从这里读出来的数据就成了63,0 244和1合并成了一个字节,而且变成了63 你去试试就知道了
2013-02-02 09:28
21
2/3页
1
2
3
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-398008-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.333657 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved