c# - 将 wchar_t 转换为 Char

标签 c# char pinvoke marshalling wchar-t

我需要转换:

wchar_t arr[20][32] 

char arr[20][32]

转换是在 DLL(用 C++ 编写)中完成的,我希望 arr 的值在 Windows 窗体(用 C# 编写)中显示给用户。

是否可以在文本框中直接显示 wchar_t 还是我应该在 DLL 中将 wchar_t 转换为 char 然后从 char 到 Windows 窗体中的 string

这个转换是如何完成的?

最佳答案

如果转换是在 C++ 中完成的,那么请查看在 kernel32 中定义并从中导出的 WideCharToMultibyte 函数

如果转换是在 C# 中完成的,请查看 System.Text.ASCIIEncoding.ASCII.GetBytes(string) 函数以获取 unicode 字符串的 ASCII 表示形式。

关于c# - 将 wchar_t 转换为 Char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5509526/

相关文章:

c# - 使用运行时文件名 P/调用 native DLL

c++ - 在调用中使用结构从 vb.net 调用

c# - DataTable 具有多个可能的 Column 名称

c# - ITextSharp 压模损坏 pdf

c# - (byte)Convert.ToChar(anyStringOfLengthOne) 怎么可能抛出错误?

string - 如何在 Golang 中替换字符串中的单个字符?

c# - 如何在 C# 中的 CharArray 中删除和添加元素?

c# - 使用 HTML Agility Pack 删除重复元素链

c# - DataGridView 设置列单元格 Combobox

c# - 如何从 native (C++) 代码返回文本