创世魂 发表于 昨天 12:25

【API封装】MultiByteToWideChar、WideCharToMultiByte编码转换

本帖最后由 创世魂 于 2025-10-30 12:27 编辑

WindowsAPI封装:MultiByteToWideChar、WideCharToMultiByte。
用于编码转换操作。提高转换效率。


提供了:多字节转UTF8、UTF8转多字节、多字节转UTF16、UTF16转多字节、UTF8转UTF16、UTF16转UTF8。
用于直接将目标编码的字节集直接转换成另外一个编码,减少通过文本转换带来的损耗。


经过测试一个21兆的utf16编码的文本文件,转换成utf8编码。在编译发布版本的情况下。


使用传统方法:
文本到UTF8 (字节集到文本 (utf16le))   耗时32毫秒


使用:编码转换类.编码转换        耗时47毫秒


使用:WindowsAPI耗时:       耗时15毫秒


当然根据电脑性能不同,速度肯定还是略有差异,但是也可以看出直接通过Windowsapi转换速度是成倍提升。
对于一些需要进行大文件文本处理的,运行速度会显著提升。
通常文件编码都是utf8格式的,这样可以通过UTF8转UTF16转成utf16后在用火山处理,速度会显著提升。













**** Hidden Message *****









niuyanbo2021 发表于 昨天 12:40

感谢分享!

niuyanbo2021 发表于 昨天 12:42


创世魂 发表于 昨天 13:09

niuyanbo2021 发表于 2025-10-30 12:42


flash的问题,手动复制一下吧。

秋天的童话 发表于 昨天 13:27

这个支持一下

shuimiao 发表于 昨天 13:44

本帖最后由 shuimiao 于 2025-10-30 13:47 编辑

我的电脑(i914代)复制观察网首页源码的字节集测试,1000次循环,提升几倍(调试版)。谢谢魂总

小虾米006 发表于 昨天 16:32

学习一下!

Xelloss0618 发表于 昨天 16:40

本帖最后由 Xelloss0618 于 2025-10-30 16:41 编辑

其实文本到UTF8也是调用这个API,不过会多了一个从CU8String转换到字节集类产生的内存复制。
要更快可以用simdutf

yifan09 发表于 昨天 16:47

学习了

就这 发表于 昨天 17:29

看下吧..........
页: [1] 2 3
查看完整版本: 【API封装】MultiByteToWideChar、WideCharToMultiByte编码转换