难道我钻进了死胡同?关于报文传输中传送汉字的问题
三方TCP/IP通迅,甲方(发起)用VB写的程序,乙方(中间转换)是C写的程序,丙方(处理)也是C写的程序,通信报文中固定长度格式传送,报文域如下:
1、交易代码 trxtype 4
2、交易来源 source 2
3、流水号 seqno 6
4、姓名 acctname 30
5 类别 transtype 2
6、响应码 retcode 4
7、描述信息 meno 40
................
甲方结构定义如下:
Public Type Pack_SchAcc
trxtype As String * 4 '交易代码3001
Source As String * 2 '交易来源
seqno As String * 6 '流水号
acctname As String * 30 '姓名
transtype As String * 2 '类别
retcode As String * 6 '响应码
meno as String*40
................
End Type
甲方发起交易先到乙方然后通过乙方的转发到丙方,丙方处理后再返回到乙方最后到甲方。
本来通信我们直接copy的话,中间接收程度就转发一下不用做任何处理就行了
现在碰到传过来的报文中有汉字的时候就不知道怎么取了,最后我们双方定下传送的时候中间用一个分隔符来取代,用split来取。
难道VB中碰到报文中有汉字没有其他解决方法了,在C中就可以直接copy不用考虑汉字的问题。这样处理就跟乙方(转发)方增加了工作量,本来C语言组包的时候直接Copy现在要发给甲文还要再组个分隔符。不知道VB中有没有解决方法??
[解决办法]
没有必要吧。
Dim p As Pack_SchAcc
'......
p.acctname = StrConv(txtName, vbFromUnicode)