我是靠谱客的博主 大气黑裤,这篇文章主要介绍c# 传中文字符给c++ 出现乱码问题,现在分享给大家,希望可以做个参考。

c++ char * 转换c# 一般直接string 或者Marshal.StringToHGlobalAnsi(“string”)为IntPtr  即可。

但是如果string包含中文,c++收到中文是乱码。

解决办法:把string转为byte[] 再放到内存指针即可。

复制代码
1
2
3
4
5
byte[] encodedBytes=Encoding.UTF8.GetBytes("string"); IntPtr wordPtr = Marshal.AllocHGlobal(encodedBytes.Length); Marshal.Copy(encodedBytes, 0, wordPtr, encodedBytes.Length);

最后将wordPtr传给c++即可。

最后

以上就是大气黑裤最近收集整理的关于c# 传中文字符给c++ 出现乱码问题的全部内容,更多相关c#内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部