unicode相关内容

使用ICU剥离变音标记的代码

有人可以提供一些示例代码来剥离变音标记(即,用具有重音符号,变音符号等等的字符替换它们的未标记,未变音的等等,例如每个重音é 使用C ++中的ICU库,将成为一个 UnicodeString 的纯ASCII e 例如: UnicodeString strip_diacritics(UnicodeString const& s){ UnicodeString result; // .. ..
发布时间:2016-10-14 20:34:10 C/C++开发

Do C ++ 11正则表达式使用UTF-8字符串?

如果我想使用C ++ 11的正则表达式与unicode字符串,它们将使用char *作为UTF-8或者我必须将它们转换为一个wchar_t *字符串? 解决方案 你需要测试你的编译器和你使用的系统,但在理论上,如果你的系统有一个UTF-8语言环境,它将被支持。以下测试在Clang / OS X上为我返回true。 bool test_unicode() { std :: loc ..
发布时间:2016-10-14 12:51:31 C/C++开发

如何通过指针读取UTF-8字符?

假设我将UTF-8内容存储在内存中,如何使用指针读取字符?我想我需要监视第8位表示一个多字节字符,但我该如何将序列转换为有效的Unicode字符?此外, wchar_t 是否存储单个Unicode字符的正确类型? 这是我的想法: wchar_t readNextChar(char *&p) { wchar_t unicodeChar; char ch = * p ++ ..
发布时间:2016-10-14 12:41:32 C/C++开发

字符串到C / C中的下/上

人们在C ++中找到的最好的方式是String到小写/大写? 问题是由于C ++不是只有英语的编程语言。是否有很好的多语言方法? 解决方案 #include& std :: string data =“Abc”; std :: transform(data.begin(),data.end(),data.begin(),:: toupper); htt ..
发布时间:2016-10-14 12:30:18 C/C++开发

有ICL STL和UTF-8友好的C ++ Wrapper,或其他强大的Unicode库

我需要一个好的Unicode库的C ++。我需要: 以Unicode敏感的方式进行转换。例如,以不区分大小写的方式排序所有字符串,并获取索引的第一个字符。将各种Unicode字符串转换为大写和小写。 以区域设置敏感的方式格式化数字,日期(应该是线程安全的)。 透明支持UTF-8(主要内部表示)。 据我所知, ICU。但是,我找不到正常的开发人员友好的API文档的例子。就我所见,它不 ..
发布时间:2016-10-14 12:13:30 C/C++开发

GetComputerName()在Windows控制台中不正确显示Unicode

我对C ++中的WinAPI编程相对陌生。我试图写一个程序,将获得系统主机名使用GetComputerName()。理想情况下,我希望代码能够在英语和非英语系统上工作。下面是我使用的代码: int main() { wstring hostname; wchar_t nbtName [MAX_COMPUTERNAME_LENGTH + 1]; DWORD length = MA ..
发布时间:2016-10-14 11:13:27 C/C++开发

打印Unicode字符C ++

我想写一个简单的命令行应用程序来教自己日语,但似乎不能获得Unicode字符打印。我缺少什么? #include using namespace std; int main() { wcout ..
发布时间:2016-10-14 11:03:47 C/C++开发

如何将TCHAR数组转换为std :: string?

如何将 TCHAR 数组转换为 std :: string (不是 std :: basic_string )? 解决方案 TCHAR 只是一个typedef,根据您的编译配置,默认为 char 或 wchar 。 标准模板库支持ASCII( std :: string )和宽字符集$ c> std :: wstring )。您所需要做的是将 typedef String作为std ..
发布时间:2016-10-14 10:58:13 C/C++开发

在Windows下使用非MSVC编译器打开带有Unicode文件名的文件的fstream

当文件名是“Unicode”文件名时,我需要将文件打开为std :: fstream(或其他任何std :: ostream)。 MSVC我有非标准扩展 std :: fstream :: open(wchar_t const *,...)?我可以用其他编译器,如GCC(最重要的)和可能的Borland编译器。 我知道CRTL提供 _wfopen 但是它给出C FILE * 接口而不是 ..
发布时间:2016-10-14 10:46:08 C/C++开发

将Unicode字符串转换为C ++到大写

我们如何在C或C ++中将多语言字符串或unicode字符串转换为大写/小写字符。 解决方案 您的系统已使用UTF-8,方法是使用 std :: use_facet ,您可以写下: #include #include int main(){ std :: locale :: global(std :: locale(“”)) ..
发布时间:2016-10-14 10:35:47 C/C++开发

WideCharToMultiByte()vs. wcstombs()

WideCharToMultiByte()和wcstombs()之间有什么区别 何时使用哪个? 解决方案 简单来说: WideCharToMultiByte 函数暴露参数列表中用于转换的编码/代码页,而 wcstombs 才不是。这是一个主要的PITA,作为标准没有定义什么编码用于产生 wchar_t ,而你作为一个开发人员当然需要知道你正在转换/从哪个编码。 , WideChar ..
发布时间:2016-10-14 10:17:22 C/C++开发

如何在源文件中嵌入unicode字符串常量?

我正在写一些单元测试来验证我们处理各种资源,除了正常的拉丁字母:Cyrilic,Hebrew等。使用其他字符集。 我遇到的问题是,我找不到一种方法来嵌入预期的测试源文件:这里是我想要做的一个例子... /// ///受保护的:TestGetHebrewConfigString /// void CPrIniFileReaderTest :: TestGetHebrewCo ..
发布时间:2016-10-14 10:12:34 C/C++开发

将窄字符串转换为宽字符串

如何将窄的字符串转换为宽的字符串? 我试过这个方法: string myName; getline(cin,myName); wstring printerName(L(myName)); // error C3861:'L':identifier not found wchar_t * WprinterName = printerName.c_str(); //错误C2 ..
发布时间:2016-10-13 11:47:32 C/C++开发

继承和覆盖std :: string的函数?

由于 std :: string 实际上是一个模板类的 typedef ,我如何覆盖它?我想要一个UTF-8 std :: string ,将返回正确的长度,除其他外。 解决方案 不要从STRING发出 std :: string, basic_string模板不是设计为从中派生的。有关于已经有数十亿的文章。它没有任何虚拟函数,所以没有什么可以重写。你最好做的是隐藏一些东西。最好是使 ..
发布时间:2016-10-13 11:38:00 C/C++开发

Windows Unicode C ++流输出失败

我目前正在写一个应用程序,它要求我在任意窗口上调用GetWindowText,并将该数据存储到一个文件以供以后处理。长话短说,我注意到我的工具在战地3上失败了,我把问题缩小到窗口标题中的以下字符: http://www.fileformat.info/info/unicode/char/2122/index.htm 所以我创建了一个测试应用程序,只是做以下: std :: wcou ..
发布时间:2016-10-13 10:33:10 C/C++开发

在MSVC ++中的源字符集编码的规范,如gcc“-finput-charset = CharSet”

我想创建一些处理编码的示例程序,特别是我想要 使用宽字符串: wstring a = L“grüßen”; wstring b = L“שלוםעולם!”; wstring c = L“中文”; 因为这些是示例程序。 这是绝对琐碎的gcc,将源代码作为UTF-8编码文本。 但是,直接编译在MSVC下不起作用。我知道我可以使用转义序列编码它们 ,但 ..
发布时间:2016-10-13 10:28:18 C/C++开发