易语言的使用中,不可避免的需要转换文本的编码,众所周知,大家都用这两个API: MultiByteToWideChar WideCharToMultiByte 但是,这两个API稍微不对就得叫你的程序完蛋!!! 昨晚又仔细参考的MSDN文档,有两个关键字非常需要注意: 字符 字节 是的,字符和字节,一个参数指定的是缓冲区字符数,一个是缓冲区字节数。 所以,这次我直接根据编码的最大可能字节数来手动计算缓冲区大小。 例如:UTF8,一个字符最多使用6个字节,转换时缓冲区大小就设为字符数的6倍大小字节空间。 安全的做法是直接申请足够大的空间来进行转换,所以重新封装了一下编码转换! 请尽量在XP系统并且多线程环境下测试,有问题欢迎联系反馈!
评论星级较低,若资源使用遇到问题可联系上传者,3个工作日内问题未解决可申请退款~