在使用VB编写后端程序处理文本文件的时候,常碰到的事情就是VB的默认文本处理方式问题。
在VB中,以UniCode方式处理字符串,Left,Right,Mid均为Unicode下的函数。举个例子:“中国上海延安西路990号53弄”。在这个字符串中,定义前4个字符为国别,接着4个为省市,如果我们使用Left(st ,4) ,取出的字符串将返回“中国上海”。由于绝大多数的大型系统,仍然按照ASCII方式处理问题,接口文件将在这类文本文件处理中毫无用处。
那难道不能处理这类文本文件了嘛?不是。 VB提供了转换程序。
StrConv(St, vbFromUnicode)
这条语句将返回采用ASCII方式存在的一个字符串。虽然这个字符串现在无法打印,无法明显的看出内容,但是他却给了我们莫大的好处,这个时候这个字符串的位数信息终于符合ASCII接口文件了。
LeftB ,RightB , MidB 这3个程序,就是字符串在ASCII方式下的处理程序。
NewSt = StrConv(St, vbFromUnicode)
NewSt =LeftB(NewSt ,2)
msgbox StrConv(St , vbUnicode)
这里再次提醒各位,VB的所有显示写入等操作,还是以Unicode为核心的处理方式,所以最后,如果你要显示这个信息的话,需要使用StrConv(St ,VBUnicode)再转换回去。
本文介绍在使用VB进行后端程序开发时如何处理文本文件。针对常见的Unicode与ASCII处理不一致问题,提供了解决方案,包括如何利用StrConv函数转换字符串编码,并通过LeftB, RightB, MidB函数实现ASCII方式的文本处理。
626

被折叠的 条评论
为什么被折叠?



