草庐IT

c++ - boost UTF-16 字符串的库?

是否有任何boost库可以帮助处理UTF-16(或更高版本)字符串? 最佳答案 我用了ICU过去在处理C++编码时取得了成功。 关于c++-boostUTF-16字符串的库?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6242387/

Python:来自多个CSV的多个数据帧,将CP1252编码到UTF8

我有几个CSV文档的拉链。我将CSV提取到一个称为“登台”的文件夹中。这些文档在WindowsCP1252中编码。我想做的是在每个CSV文件中单独阅读作为单独的数据框架,然后在我删除所有空值后用UTF8编码的旧文件覆盖旧文件。或者,不用将CSV重写为UTF8,我可以严格地从生成的熊猫数据库中编码数据库。任何帮助都将不胜感激-我已经浏览了堆栈溢出论坛,主要主题似乎将多个CSV串成一个单个数据帧-我需要的是每个CSV的单独数据帧。另外,我必须删除N/A值,但是,在CSV中,它们具有随机数(即N/A(3)或N/A(1)等)这是我正在使用的代码:#Createthestagingdirectoryst

c++ - C++ 中的 Unicode 到 UTF-8

我搜索了很多,但找不到任何东西:unsignedintunicodeChar=0x5e9;unsignedintutf8Char;uni2utf8(unicodeChar,utf8Char);assert(utf8Char==0xd7a9);是否有实现类似于uni2utf8的库(最好是boost)? 最佳答案 Unicode转换是C++11的一部分:#include#include#include#includeintmain(){std::wstring_convert,char32_t>convert;std::stringut

c++ - 如何在 C/C++ 中将字符串从 UTF8 转换为 Latin1?

我的问题很简单,但我至今找不到解决方案:如何在C++中将UTF8编码的string转换为latin1编码的string而无需使用任何额外的库(如libiconv)?到目前为止我能找到的每个示例都是针对latin1到UTF8的转换? 最佳答案 typedefunsignedvalue_type;templatesize_tget_length(Iteratorp){unsignedcharc=static_cast(*p);if(cvalue_typeget_value(Iteratorp){size_tlen=get_length(

c++ - 使用标准 C++ wifstream 读取 UTF-8 文本并转换为 UTF-16

我想从使用UTF-8编码的文件中读取一些文本,然后使用std::wifstream将其转换为UTF-16,如下所示:////ReadUTF-8textandconverttoUTF-16//std::wifstreamsrc;src.imbue(std::locale("???"));//UTF-8???src.open("some_text_file_using_utf8");std::wstringline;//UTF-16stringwhile(std::getline(src,line)){...dosomethingprocessingtheUTF-16string...}是

c++ - 如何在 utf8 中获取代码点文字

我最近才意识到,C++17的u8字符前缀并不适用于所有utf8代码点,仅适用于ASCII部分。来自cppreferenceUTF-8characterliteral,e.g.u8'a'.SuchliteralhastypecharandthevalueequaltoISO10646codepointvalueofc-char,providedthatthecodepointvalueisrepresentablewithasingleUTF-8codeunit.Ifc-charisnotinBasicLatinorC0ControlsUnicodeblock,theprogramisi

c++ - 将 utf8 (char*) 转换为 wchar_t 的一个文件库?

我正在使用libjson这太棒了。我遇到的唯一问题是我需要将utf8字符串(char*)转换为宽字符字符串(wchar_t*)。我用谷歌搜索并尝试了3个不同的库,但它们都失败了(由于缺少header)。我不需要任何花哨的东西。只是一种单向转换。我该怎么做? 最佳答案 如果您使用的是Windows(考虑到您需要wchar_t,您很可能是Windows),请使用MultiByteToWideChar函数(在windows.h中声明),如下所示:intlength=MultiByteToWideChar(CP_UTF8,0,src,src

c++ - 使用C/C++转义unicode字符

我需要将输入字符串中的Unicode字符转义为UTF-16或UTF-32转义序列。例如,输入字符串文字"Eat,drink,愛"应该转为"Eat,drink,\u611b"。以下是排序表中的规则:Escape|Unicodecodepoint'\u'HEXHEXHEXHEX|AUnicodecodepointintherangeU+0toU+FFFFinclusivecorrespondingtotheencodedhexadecimalvalue.'\U'HEXHEXHEXHEXHEXHEXHEXHEX|AUnicodecodepointintherangeU+0toU+10FFFF

.NET System::String 到存储在 char* 中的 UTF8 字节

我正在将一些非托管C++代码包装到.NET项目中。为此,我需要将System::String转换为存储在char*中的UTF8字节。我不确定这是否是最好的或什至是正确的方法,如果有人可以看一下并提供反馈,我将不胜感激。谢谢,/大卫//CopyintoblankVisualStudioC++/CLRcommandlinesolution.#include"stdafx.h"#includeusingnamespaceSystem;usingnamespaceSystem::Text;usingnamespaceSystem::Runtime::InteropServices;//Test

c++ - 将 wchar_t* 转换为 UTF-16 字符串

我需要一个C++代码来将wchar_t*中给出的字符串转换为UTF-16字符串。它必须在Windows和Linux上都能工作。我在搜索过程中浏览了很多网页,但我仍然不清楚主题。据我所知,我需要:使用LC_TYPE和UTF-16编码调用setlocale。使用wcstombs将wchar_t转换为UTF-16字符串。调用setlocale恢复之前的语言环境。您知道我可以将wchar_t*以可移植的方式(Windows和Linux)转换为UTF-16的方法吗? 最佳答案 在C++03中没有单一的跨平台方法(不是没有库)。这部分是因为wc