_bstr_t 可以转换为 UTF-8 吗?
我有一个包含日语文本的 _bstr_t
字符串。 我想将此字符串转换为定义为 char *
的 UTF-8 字符串。
我可以将 _bstr_t
字符串转换为 char *
(UTF-8) 字符串而不丢失日语字符吗?
I have a _bstr_t
string which contains Japanese text. I want to convert this string to a UTF-8 string which is defined as a char *
.
Can I convert the _bstr_t
string to char *
(UTF-8) string without losing the Japanese characters?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用 WideCharToMultiByte() – 传递 CP_UTF8 作为第一个参数。
请注意,BSTR 可以是空指针,并且对应于空字符串 - 将其视为特殊情况。
Use WideCharToMultiByte() – pass CP_UTF8 as the first parameter.
Beware that BSTR can be a null pointer and that corresponds to an empty string – treat this as a special case.
这是一些应该进行转换的代码。
Here is some code that should do the conversion.
对于此类事情非常方便的 MSDN 参考:http:// /msdn.microsoft.com/en-us/library/ms235631(VS.80).aspx
我认为您需要转到 wchar_t* 因为 char* 会丢失 Unicode 内容,尽管我不确定。
Very handy MSDN reference for this sort of thing: http://msdn.microsoft.com/en-us/library/ms235631(VS.80).aspx
I think you need to go to wchar_t* since char* will lose the Unicode stuff, although I'm not sure.