草庐IT

unicode_literals

全部标签

C++检查unicode字符是否为全角

如何检查一个unicode字符是否为全角?我使用Win32/MFC比如中是全角,A不是全角,F是全角,F不是全角。 最佳答案 您需要的是检索EastAsianWidth的性格。您可以通过解析EastAsianWidth.txt来做到这一点来自Unicode字符数据库的文件。我找不到返回此信息的Win32API,但在Python中,例如,您可以使用unicodedata.east_asian_width(unichr).参见Annex#11了解问题的背景和更多信息。 关于C++检查unic

c++ - 使用 const char * literal 作为 std::map 键是否安全?

我有类,每个类都返回它的名字structIFoo{virtualconstchar*GetName()const=0;}structFoo:IFoo{constchar*GetName()const{return"Foo";}}structBar:IFoo{constchar*GetName()const{return"Bar";}}还有别的地方:Foo*a=newFoo();Foo*b=newFoo();std::mapdata;data[a->GetName()]=0;printf("%i",data[b->GetName()]);字符串文字应该存储在内存中的一个地方,但它是100

c++ - 如何在 ms-dos 控制台中用 C++ 编写 unicode 字符波斯语?

如何在ms-dos中用c++编写unicode字符波斯语?cout 最佳答案 #include#include#includeintmain(){usingnamespacestd;wstringwcs=L"中文";localeold=wcout.imbue(locale(""));//""isenvironment'sdefaultlocalewcout 关于c++-如何在ms-dos控制台中用C++编写unicode字符波斯语?,我们在StackOverflow上找到一个类似的问题:

c++ - 不使用通用字符名直接在character-literal中放入unicode是否违法?

根据ISO/IEC14882:2011(§2.14.3),character-literal,也称为常量,如下图所示。character-literal:’c-char-sequence’u’c-char-sequence’U’c-char-sequence’L’c-char-sequence’...c-char:anymemberofthesourcecharactersetexceptthesingle-quote’,backslash\,ornew-linecharacterescape-sequenceuniversal-character-name乍一看,在character

C++:让我的项目支持 unicode

我的C++项目目前大约有16K行代码,我承认一开始完全没有考虑过unicode支持。我所做的只是将std::string的自定义类型定义为String并开始编码。我自己从未真正在自己编写的程序中使用过unicode。现在将我的项目转换为unicode有多难?这甚至是个好主意吗?我可以直接切换到std::wchar而不会出现任何重大问题吗? 最佳答案 让应用程序识别unicode的最重要部分可能是跟踪字符串的编码,并确保您的公共(public)接口(interface)明确指定并且易于使用您希望使用的编码。切换到更宽的字符(在c++w

C++ unicode字符打印

我需要使用iostream在Linux终端上打印一些unicode字符。奇怪的事情发生了。当我写:cout我得到:➀,这几乎正是我想要的。但是,如果我写:cout我得到:14851712。问题是,我不知道要在编译时打印的确切字符。因此我想做类似的事情:intx;//somecalculations...cout打印:�。使用wcout或wchar_t也不起作用。如何获得正确的打印?根据我在Internet上的发现,我使用直接来自DebianWheezy存储库的g++4.7.2编译器似乎很重要。 最佳答案 Unicode字符\u278

干草堆索引的Unicode Errror

我有一个带有Haystack的Django系统。ElasticsearchPowered搜索。更具体地说,我正在使用Django-CMS和Aldryn搜索将搜索与CMS集成。aldryn-search==0.3.0Django==1.10.7django-cms==3.4.3django-haystack==2.6.0elasticsearch==2.4.1requests==2.13.0requests-aws4auth==0.9索引Haystack的整个过程由第三方应用程序控制,但是我以前从未经历过,因此希望能找到解决方案。运行时update_index对于Haystack,有一些Unic

c++ - 根据 MSVC++ 中的 unicode 设置自动在 std::string 和 std::wstring 之间切换?

我正在编写一个DLL,并希望能够在MSVC++2010中的unicode和多字节设置之间切换。例如,我使用_T("string")和LPCTSTR和WIN32_FIND_DATA而不是-W和-A版本等等。现在我想让std::strings根据unicode设置在std::string和std::wstring之间变化。那可能吗?否则,这可能最终会变得极其复杂。 最佳答案 为什么不像Win32API那样做:在内部使用宽字符,并提供DoSomethingA函数的字符转换外观,将其输入简单地转换为Unicode。也就是说,您可以像这样定义

c++ - 我的程序如何从 ASCII 切换到 Unicode?

我想用C++编写一个可以在Unix和Windows上运行的程序。该程序应该能够同时使用:Unicode和非Unicode环境。它的行为应该只取决于环境设置。我想要的一个很好的功能是操作从目录中读取的文件名。这些可以是unicode......或不是。实现这一目标的最简单方法是什么? 最佳答案 IwanttowriteaprograminC++thatshouldworkonUnixandWindows.首先,请确保您了解Unix如何支持Unicode与Windows如何支持Unicode之间的区别。在Unicode出现之前,两个平台

c++ - 如何处理 JSON 字符串中的 unicode 值?

我正在用C++编写JSON解析器,在解析JSON字符串时遇到问题:JSON规范声明JSON字符串可以包含以下形式的unicode字符:"herecomesaunicodecharacter:\u05d9!"我的JSON解析器尝试将JSON字符串映射到std::string,因此通常情况下,JSON字符串的一个字符会变成std::string的一个字符。但是对于那些unicode字符,我真的不知道该怎么办:我是否应该像这样将原始字节值放入我的std::string中:std::stringmystr;mystr.push_back('\0x05');mystr.push_back('\0