当前位置: 首页 > 面试题库 >

在Linux中是否有任何将wstring或wchar_t *转换为UTF-8的内置函数?

米浩穰
2023-03-14
问题内容

我想将wstring转换为UTF-8编码,但是我想使用Linux的内置函数。

在Linux中 ,* 是否有任何内置函数可以 通过简单的调用 转换wstring或转换wchar_t*为UTF-8 ? *

例:

wstring str = L"file_name.txt";
wstring mode = "a";
fopen([FUNCTION](str), [FUNCTION](mode)); // Simple invoke.
cout << [FUNCTION](str); // Simple invoke.

问题答案:

C ++语言标准没有显式编码的概念。它仅包含“系统编码”的不透明概念,为此,它wchar_t是“足够大”的类型。

要将不透明的系统编码转换为显式的外部编码,必须使用外部库。选择的库将是iconv()(from
WCHAR_TUTF-8),它是Posix的一部分,可在许多平台上使用,尽管WideCharToMultibyte可以保证在Windows上这些函数可以产生UTF8。

C ++ 11 以的形式添加新的UTF8 文字std::string s = u8"Hello World: \U0010FFFF";。这些已经在UTF8中了,但是wstring除了通过我描述的方式之外,它们无法与不透明接口。



 类似资料:
  • 问题内容: 这里有两个问题。我有一组通常是带有BOM的UTF-8文件。我想将它们(理想情况下)转换为没有BOM的UTF-8。似乎可以解决这个问题。但是我真的看不到任何有关用法的好例子。这将是处理此问题的最佳方法吗? 同样,如果我们能够处理清楚知道的不同输入编码(看到的ASCII和UTF-16),那将是理想的。看来这一切都是可行的。是否有一种解决方案可以采用任何已知的Python编码并以UTF-8格

  • 问题内容: 我有一个带有HTML实体的ASCII字符串,例如: 我需要此字符串不包含那些实体,并将其转换为UTF-8字符。有没有简单的方法,在Java中可以做到这一点? 哪里: 返回“aà” 或类似的东西? 问题答案: 看一下org.apache.commons.lang.StringEscapeUtils.unescapeHtml(…)。显然,它可以理解HTML 4中定义的所有字符实体。

  • 问题内容: 我们有一个系统,客户(主要是欧洲人)输入的文本(使用UTF-8)必须分发到不同的系统,其中大多数接受UTF-8,但是现在我们还必须将文本分发到仅接受美国的美国系统。 -Ascii 7位 因此,现在我们需要将所有欧洲字符翻译成最近的美国Ascii。是否有任何Java库可帮助完成此任务? 现在,我们刚刚开始添加到转换表中,在该表中Å(瑞典AA)-> A等,在找不到与输入字符匹配的位置的情况

  • 将编码传递到UTF-8后,我无法在Windows-1252中显示字符串。 我被迫在init中转换为UTF-8 我想将我的字符串转换为Windows-1252字符以显示它: 我正在得到这个结果 如何获得正确的以下结果? 谢谢! 当做

  • 问题内容: 嗨,我有一个客户端正在尝试使用以下HTTP标头向我们发布: 但是,我们的Web应用程序防火墙会不断将其拾取并引发错误: 消息:[文件“ /etc/httpd/modsecurity.d/10_asl_rules.conf”] [行“ 45”] [id“ 340362”] [msg“ Atomicorp.com WAF规则:ModSecurity不支持内容编码并且无法检测到使用它攻击,因

  • 问题内容: 我正在阅读XML文档(UTF-8),并最终使用ISO-8859-1在网页上显示内容。正如预期的那样,有几个字符显示不正确,比如,和(他们显示为?)。 是否可以将这些字符从UTF-8转换为ISO-8859-1? 这是我编写的尝试此功能的代码段: 我不太确定发生了什么问题,但是我认为是re​​adLine()引起了麻烦(因为字符串将是Java / UTF-16编码的?)。我尝试的另一种变化