W2CA 可能会丢失数据,对吧?

发布于 2024-12-16 21:29:23 字数 197 浏览 1 评论 0原文

我正在开发一个遗留的 VC++6 应用程序,它试图添加 unicode 支持,如果我在传入的字符串上使用 W2CA() 宏,我有一个函数可以调用需要 unsigned char 的 rpc 调用,我是否正确假设有可能无法转换某些 unicode 字符串?例如,我相信我们的T+G2将会是一个问题。我只是问因为我试图决定是否编写 wchar_t 版本会更好。

谢谢。

I'm working a legacy VC++6 app that is trying to add in unicode support, i have a function that calls into a rpc call that expects and unsigned char, if I use the W2CA() macro on the string being passed in, am i correct in assuming that there is a possibility of not being able to convert some unicode strings right? for example, I believe 我们的 T+G2 would be a problem. I just ask because I'm trying to decide if would be better off writing a wchar_t version.

thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

水波映月 2024-12-23 21:29:23

是的,您不能指望 Unicode 到 ANSI 的转换能够成功转换所有字符。不过,您可以使用其他编码,例如 UTF-8 而不是 ANSI。

一个很好的MSDN 的入口< /a> 对于这个问题:

lpDefaultChar [输入]

可选。如果无法使用字符,则指向要使用的字符的指针
在指定的代码页中表示。应用程序设置了这个
如果函数要使用系统默认值,则参数为 NULL。到
获取系统默认字符,应用程序可以调用
GetCPInfo 或 GetCPInfoEx 函数。

Yes you cannot expect Unicode to ANSI coversion to succeed with converting all the characters. You can use other encodings suchas UTF-8 instead of ANSI though.

A good entry point into MSDN for the question:

lpDefaultChar [in]

Optional. Pointer to the character to use if a character cannot be
represented in the specified code page. The application sets this
parameter to NULL if the function is to use a system default value. To
obtain the system default character, the application can call the
GetCPInfo or GetCPInfoEx function.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文