草庐IT

utf8_unicode_cs

全部标签

c++ - 在 Boost Spirit 中解码字符 UTF8 转义

问题:Spirit-generallist大家好,我不确定我的主题是否正确,但测试代码可能会显示我想要实现的目标。我正在尝试解析如下内容:“%40”到“@”“%3C”到“我在下面有一个最小的测试用例。我不明白为什么这是行不通的。这可能是我犯了一个错误,但我没有看到。使用:编译器:gcc4.6Boost:当前主干我使用以下编译行:g++-omain-L/usr/src/boost-trunk/stage/lib-I/usr/src/boost-trunk-g-Werror-Wall-std=c++0x-DBOOST_SPIRIT_USE_PHOENIX_V3main.cpp#includ

c++ - 为什么设置了中文代码页的 Windows 控制台可以显示 UTF-16 编码的字符?

根据MSDN:"FortheMicrosoftC/C++compiler,thesourceandexecutioncharactersetsarebothASCII."C++032.1翻译阶段"..Anysourcefilecharacternotinthebasicsourcecharacterset(2.2)isreplacedbytheuniversal-character-namethatdesignatesthatcharacter.(Animplementationmayuseanyinternalencoding,solongasanactualextendedchar

c++ - 如何在静态库 (.lib) 中同时支持 Unicode 和多字节字符集?

我正在使用visualstudio2015,我想编写可在Unicode项目和多字节项目中使用的C++静态库,我该怎么做?例如我有这段代码:namespaceReg{LONGWINAPICreateKey(_In_HKEYhKey,_In_LPCTSTRlpSubKey,_In_REGSAMsamDesired,_Out_PHKEYphkResult){returnRegCreateKeyEx(hKey,lpSubKey,0,NULL,REG_OPTION_NON_VOLATILE,samDesired,NULL,phkResult,NULL);}} 最佳答案

c++ - 将生成的进程标准输出捕获为 unicode

在我的C++/WinAPI代码中,我想运行一些命令并捕获它们的输出。为了测试非ASCII输出,我将我的网络连接重命名为EthérnétאבגБбИгДд并运行ipconfig。在命令提示符下运行时,输出正确(使用CourierNew等支持字体时可见):C:\>ipconfigWindowsIPConfigurationEthernetadapterEthérnétאבגБбГгДд:(...)我尝试将输出重定向到管道,跟随theexampleinthisanswer.但是从ReadFile()返回的字节数组不是unicode-它是在CP_OEMCP(在我的例子中是CP437)中编码的,

数说CS | 拟录取总人数呈小幅下降趋势!南京大学人工智能学院保研上岸难度更高?

写在前面南京大学人工智能学院,招收哪些专业?保研录取情况如何?今天,岛主就带你深度揭秘南京大学人工智能学院!01 院校简介南京大学人工智能学院于2018年正式成立,成为C9高校中的首家人工智能学院。南京大学人工智能学院致力于建设一流的人工智能基础研究基地和人才培养基地,打造人工智能学科高峰,以自身实践探索人工智能内涵式发展新道路,形成“基础研究”、“人才培养”、“产业创新”协同发展态势,建成国际一流的学术重镇和人才高地。02 培养特色南京大学人工智能学院致力于专业建设,率先发布我国首个人工智能本科专业教育培养体系,首批入选国家一流本科人工智能专业建设点,教改项目“人工智能专业研究生课程体系设计

c++ - 如何在 C++ 中更改 Latin1-UTF8 编码(可能使用 Boost)?

我的源库主要使用UTF8,但一些较旧的库在其中硬编码了WindowsLatin1编码字符串。我希望Boost有一个明确的转换功能,但我没有找到。我真的需要手动编写这样一个普通的解决方案吗?寻找在Linux上运行的可移植解决方案。(ThisQ类似,但不完全相同)编辑:ICU似乎是正确的答案,但对我的需求来说有点矫枉过正。我最终对已知的几个使用过的扩展字符进行了字符串替换。 最佳答案 InternationalComponentsforUnicode(ICU)确实有您正在寻找的解决方案。Boost可以在支持ICU的情况下编译,例如用于B

c++ - 模板和字符串文字和 UNICODE

新:感谢所有帮助过我的人!答案标在下面,我在下面(q.v.)的问题中用一个功能版本扩展了答案:我似乎经常遇到这种情况(在更新我们的字符串实用程序库时):我需要一种方法来获得一个适用于char和wchar_t的模板,它使用各种字符串文字。目前我发现这具有挑战性,因为我不知道如何使用编译时方法将字符串文字更改为窄字符或宽字符。作为考虑,采用以下基于TCHAR的函数://quotethegivenstringin-placeusingthegivenquotecharacterinlinevoidMakeQuoted(CString&str,TCHARchQuote=_T('"')){if(

c++ - 使用 UTF8

使用std::string和UTF8似乎是一个相当复杂的问题,我找不到关于该做和不该做的很好的解释。如何在C++中正确使用UTF8?这相当令人困惑。我找到了boost::locale并设置了全局语言环境:std::locale::global(boost::locale::generator(""));但是,这之后我需要考虑什么,我什么时候才能遇到问题?从文件中写入/读取是否会按预期工作、字符串比较等...?到目前为止,我知道以下内容:std::regex/boost::regex将不起作用,需要转换为宽字符串并使用wregex。boost::algorithm::to_upper将不

c++ - 将任意数字输出为 unicode

如何让任意数字在输出到终端时被解释为Unicode?例如:#includeintmain(){inteuro_dec=0x20AC;std::cout这打印:fromint:8364from\u:€转义序列\u是什么意思?做号码0x20AC被解释为Unicode?我使用wcout进行了测试输出是:fromint:8364from\u: 最佳答案 出现在程序文本中的Unicode转义序列在翻译的第一阶段被转换为等效的Unicode字符(2.2p1b1[lex.phases])。这甚至发生在程序被标记化或预处理之前。要将表示为整数的Un

c++ win32 从键盘获取 utf8 字符

我如何使用win32api读取击键?我还想从国际键盘上看到它们,例如德语变音符号。谢谢 最佳答案 键盘按下和它们生成的字符之间存在差异。在最低级别,您可以使用GetKeyboardState轮询键盘状态.键盘记录恶意软件通常就是这样做的,因为它需要最少的特权,并且无​​论焦点在哪里都能看到所有内容。这种方法的问题(除了需要不断轮询之外)是您必须将键盘状态拼凑成击键,然后将击键拼凑成字符流。您必须知道键盘是如何映射的,您必须了解shift键、控制键、alt键等的状态。您必须了解自动重复、死键以及可能的其他并发症。如果你有权限,你可以安