unicode相关内容

ICU C ++转换编码

根据我的理解,不同的语言环境有不同的编码。对于ICU,我想从UnicodeString转换为当前语言环境的编码,然后返回。具体来说,我使用Boost的文件系统库,反过来使用Windows的UTF-16或Linux的UTF-8编码。 有可靠的方法使用ICU或其他库? 解决方案 您可以使用ICU,但您可以找到 iconv 足够,这是很容易设置和操作(它是Posix的一部分,很容易为Win ..
发布时间:2016-10-30 03:52:29 C/C++开发

在非ANSI系统上通过旧(非wchar)API函数打开文件

我正在写一些中间件,这使我坚持。我正在寻找一些I18N的专家帮助我 - 这对我来说都是新的。 现在这是所有在Windows,但它必须工作在Linux和Mac上,虽然我敢打赌这些将很容易。 我有一个系统(我不能碰),将给我一个字符串wchar_t *。它接受UTF-8或当前语言环境的输入,并给魔术给我一个wchar_t *。 我有另一个我使用的API,只能将文件名作为char *( ..
发布时间:2016-10-30 03:38:56 C/C++开发

将C字符串从本地编码转换为UTF8

我在写一个小应用程序,其中我从控制台读取一些文本,然后存储在经典的char *字符串。 因为它发生,我需要将它传递到一个lib它只采用UTF-8编码字符串。由于Windows控制台使用本地编码,我需要从本地编码转换为UTF-8。 如果我没有错误,我可以使用MultiByteToWideChar(..)编码为UTF-16和然后使用WideCharToMultiByte(..)转换为UTF ..
发布时间:2016-10-28 06:23:56 C/C++开发

如何识别C ++中的RTL字符串

我需要知道我的文字在打印之前的方向。 我使用Unicode字符。 我如何在C ++中做这个? 解决方案 如果你不想使用ICU, unicode数据库(例如,使用python脚本)。它是一个分号分隔的文本文件,每行代表一个字符代码点。在每行中查找第五条记录 - 这是字符类。如果它是 R 或 AL ,你有一个RTL字符,'L'是一个LTR字符。其他类是弱或中性类型(如数字),我想你 ..
发布时间:2016-10-28 04:54:00 C/C++开发

Unicode文本在编辑框中显示为问号,即使我使用SetWindowTextW()

我在编辑框中显示为问号的unicode档案名称有问题。 当我在编辑框中贴上Unicode字元时,例如阿拉伯文或泰文,它们显示正确,但是我运行此代码后,它们成为问号。如何来? WCHAR buf [100]; GetWindowTextW(hWndEditBox,buf,100); SetWindowTextW(hWndEditBox,buf);另一件事 - 这个项目是ANSI ..
发布时间:2016-10-28 04:44:48 C/C++开发

为什么我的WM_UNICHAR处理器从未调用?

我有一个ATL控件,我想要支持Unicode。我为WM_UNICHAR添加了一个消息处理程序: MESSAGE_HANDLER(WM_UNICHAR,OnUniChar) 但是,由于某些原因,OnUniChar处理程序从未被调用。 该处理程序应该首先用“UNICODE_NOCHAR”调用,如果要接收UTF-32字符,处理程序应该返回TRUE。但是,正如我所说,处理 ..
发布时间:2016-10-28 04:15:00 C/C++开发

C ++:Qt 5.3无法显示UTF-8字符

我试图在Visual Studio 2013中使用Qt和C ++在按钮上显示unicode字符(欧元符号)。我尝试下面的代码: _rotateLeftButton-> setText(“\\\€”); 和 _rotateLeftButton-> setText(“€”); 和 _rotateLeftButton-> setText(Q ..
发布时间:2016-10-28 02:52:12 C/C++开发

在C ++中何时使用WCHAR和何时使用CHAR

我有一个问题: 一些库使用WCHAR作为文本参数,其他库使用CHAR(UTF-8):我需要知道什么时候使用WCHAR 使用 char 和将其视为UTF-8。这有很多原因;这个网站比我可以更好地总结: http://utf8everywhere.org/ 建议将 wchar_t 转换为 char (UTF-16到UTF-8),一旦你从任何库收到它,并转换回当你需要传递字符串到它。 ..
发布时间:2016-10-28 01:16:00 C/C++开发

SetWindowTextW在ANSI项目中

我有一个ANSI项目。我需要将CDialog派生类的标题栏设置为Unicode文本。 BOOL CMyDialog :: OnInitDialog b { CDialog :: OnInitDialog(); :: SetWindowTextW(GetSafeHwnd(),PathFindFileNameW(filename)); return TRUE; //返回TRU ..
发布时间:2016-10-27 06:40:09 C/C++开发

在C ++中确定unicode字符是全宽还是半宽

我在写一个终端(控制台)应用程序,它应该包装任意unicode文本。 终端通常使用等宽字体(固定宽度)字体,因此为了包装文本,它只不过是计算字符并观察字词是否适合行 问题是,在Unicode表中有全宽字符占用终端中的2个字符的宽度。 计数这些将看到1个unicode字符,但打印的字符是2“正常”(半宽)字符宽,打破包装程序,因为它不知道占用两倍宽度的字符。 p> 例如,这是 ..
发布时间:2016-10-27 02:51:08 C/C++开发

std :: u16string,std :: u32string,std :: string,length(),size(),codepoints和characters

我很高兴看到C ++ 11中的 std :: u16string 和 std :: u32string ,但我想知道为什么没有 std :: u8string 来处理UTF-8的情况。我的印象是 std :: string 是为UTF-8,但它似乎并没有做得很好。我的意思是,不 std :: string.length()仍然返回字符串的缓冲区大小,而不是字符串中的字符数量 那么,为新的C ..
发布时间:2016-10-26 22:13:16 C/C++开发

unicode“意识” std :: getline

好吧,我正在测试如何编写一个C ++应用程序,实际上可以读取(和更改)文本文件,同时尊重用于文本的编码。我希望(对于其他API)显式转换所有读取的文本为UTF-8供内部使用。 独立于文件中的实际编码。 我在Windows上并测试使用“ansi”“UTF-8”似乎工作正常)。然后“unicode big endian”不工作; std :: getline 结果似乎是原始字节数组,没有将文件 ..
发布时间:2016-10-25 16:24:56 C/C++开发