Asc对于文件编码的影响 截取字符串长度


Code
上面这个函数是我经常用来截取字符串长度用的,其中还区分了中英文。今天当我再次使用的时候发现截取的长度不对了,中文和英文没有区别了(原来设计的是2个英文相当于一个中文,为了保持长度大致相等)。
经过测试发现,其中asc对于中文得到的结果都是1,但原来我确实应用过,也是没错的。
查证了一些vb脚本的帮助才发现,原来是由于文件编码的问题引起的。asc在ANSI编码下面是对的,但在unicode编码下面就错了,我今天应用的正好是utf-8的编码,所以就不对了。只要把asc改成ascw就可以了。
下面是帮助文档的说明:
AscB 函数和包含字节数据的字符串一起使用。AscB 不是返回第一个字符的字符代码,而是返回首字节。AscW 是为使用 Unicode 字符的 32 位平台提供的。它返回 Unicode (宽型)字符代码,因此可以避免从 ANSI 到 Unicode 的代码转换。
posted @ 2009-08-02 08:33  无知者  阅读(274)  评论(0编辑  收藏  举报