草庐IT

utf8_unicode_cs

全部标签

c++ - utf8 <-> utf16 : codecvt poor performance

我正在研究我的一些旧的(并且专门面向win32的)东西并考虑使它更现代/可移植-即在C++11中重新实现一些可广泛重用的部分。这些部分之一是utf8和utf16之间的转换。在Win32API中,我正在使用MultiByteToWideChar/WideCharToMultiByte,尝试使用此处的示例代码将这些内容移植到C++11:https://stackoverflow.com/a/14809553.结果是发布版本(由MSVS2013编译,在Corei73610QM上运行)stdlib=1587.2msWin32=127.2ms调试构建stdlib=5733.8msWin32=12

c++ - 如何在 C++ 中使用 Unicode (UTF-8)

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:UnicodeinC++如果我没记错的话,C++中默认的字符和字符串编码是ASCII。有启用Unicode支持的简单方法吗?

c++ - Unicode std::string 类替换

我正在寻找有关unicode感知std::string库替换的建议。我有一堆使用std::string及其迭代器等的代码,现在想支持unicode字符串(首选免费或开源实现,正则表达式功能会很棒!)。此时我不确定我是否需要完全重写,或者我是否可以放弃一个支持所有std::string接口(interface)的新字符串库。Unicode世界似乎非常复杂,我只是想在我的应用程序中启用它,而不必了解它的每个方面。顺便说一句,索引运算符在必须传回对1、2、3或4结构的引用时如何工作,理论上可以更改为1、2、3或4字节结构。如果传递了更大或更小的值,内部数据表示是否会原地来回移动?

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

我正在编写一些单元测试,这些测试将验证我们对使用除正常拉丁字母之外的其他字符集的各种资源的处理:西里尔字母、希伯来字母等。我遇到的问题是我找不到将期望值嵌入测试源文件的方法:这是我正在尝试做的事情的示例...//////Protected:TestGetHebrewConfigString///voidCPrIniFileReaderTest::TestGetHebrewConfigString(){prwstringstrHebrewTestFilePath=GetTestFilePath(strHebrewTestFileName);CPrIniFileReaderprIniLis

c++ - 如何在 C/C++ 中处理 unicode 字符序列?

在C和C++中处理unicode字符序列的更便携和干净的方法是什么?此外,如何:-读取unicode字符串-将unicode字符串转换为ASCII以节省一些字节(如果用户只输入ASCII)-打印unicode字符串我也应该使用环境吗?例如,我读过LC_CTYPE,作为开发人员我应该关心它吗? 最佳答案 WhatarethemoreportableandcleanwaystohandleunicodecharactersequencesinCandC++?让你程序中的所有字符串都是UTF-8,UTF-16,orUTF-32.如果出于某

c++ - 以二进制方式将utf16写入文件

我正在尝试以二进制模式使用ofstream将wstring写入文件,但我认为我做错了什么。这是我试过的:ofstreamoutFile("test.txt",std::ios::out|std::ios::binary);wstringhello=L"hello";outFile.write((char*)hello.c_str(),hello.length()*sizeof(wchar_t));outFile.close();在编码设置为UTF16的Firefox中打开test.txt将显示为:h�e�l�l�o�谁能告诉我为什么会这样?编辑:在十六进制编辑器中打开文件我得到:FFF

c++ - qDebug() 在 Windows 上不支持 unicode 字符串

我有一个包含带有Unicode字符的文件名的行编辑,它在GUI中正确显示,但是当我用qDebug()打印它时,它显示Unicode符号为问号.例如,对于"C:/Test/абв",此代码将仅显示"C:/Test/???"。这一行:qDebug()lineEditFileName->text();会显示:此问题仅在Windows(XP和7)上发生,在Linux上运行良好。Qt的版本是4.8.0。 最佳答案 同时检查控制面板中的“区域和语言”->“非Unicode程序”设置。它帮助我修复了调试控制台中的错误符号。

python - 使用 Python 的 PowerShell 中的 Unicode? Windows 中的替代 shell?

我想要一个在Windows上支持Unicode的shell。随附的PowerShell似乎没有。PowerShellV2(Windows7x64):PSC:\>powershellWindowsPowerShellCopyright(C)2009MicrosoftCorporation.Allrightsreserved.PSC:\>pythonPython2.6.2(r262:71605,Apr142009,22:46:50)[MSCv.150064bit(AMD64)]onwin32Type"help","copyright","credits"or"license"formore

windows - 为什么 Unicode Windows 标题栏(仅)是问号(?)代码点?

有一个2000年的应用程序。ANSI。来源不可用。有一个DLL可以Hook它的API。但即使DLL创建了它自己的Unicode窗口或对话框。标题将始终是文字问号(如果代码点位于ANSI代码页之外。)原因是EXE镜像的某些内容导致了此行为。虽然我不是100%确定我是否曾经尝试实例化一个带有Unicode标题标题的窗口是公平的。虽然我知道这是可以做到的。这适用于所有窗口。可以肯定的是,一个窗口类注册了W系列函数,并且窗口创建了W系列和那个类。我自己在显式使用A和W函数时从未遇到过问题。我觉得这是更好的风格。特别是与在预处理器宏中包装字符串文字相比。因此,无论我在哪里,我都不会设置Visua

windows - 为什么 Windows 使用 ANSI 代码页而不是 UNICODE?

当我在cmd.exe窗口中运行命令chcp时,它表示Windows中使用的代码页。我认为Windows使用UNICODE字符集。所以,我的问题是:为什么Windows使用ANSI代码页而不是Unicode?Windows使用UTF-16还是UCS-2?我可以检查这个(通过命令或MSDN链接)吗?UTF-16或UCS-2只是一种编码?或者也是一个字符集?UTF-8、UTF-16、UTF-32等..它们的字符集大小是否不同?我很困惑。请有人定义它们。 最佳答案 历史原因和向后兼容性。Windows本身是一个基于Unicode的操作系统,