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

概述

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

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

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

byte[] encodedBytes=Encoding.UTF8.GetBytes("string");

IntPtr wordPtr = Marshal.AllocHGlobal(encodedBytes.Length);

Marshal.Copy(encodedBytes, 0, wordPtr, encodedBytes.Length);

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

最后

以上就是大气黑裤为你收集整理的c# 传中文字符给c++ 出现乱码问题的全部内容,希望文章能够帮你解决c# 传中文字符给c++ 出现乱码问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部