【发布时间】:2019-10-25 07:56:19
【问题描述】:
我是 C++ 新手,我现在面临的是我必须将来自用户的输入字符串从这些编码编码为十六进制。 C++ 中是否有任何相关的库或函数可以具有与 Java 中的 Charset 相同的输出?我已经用 Java 实现了。
我需要支持以下编码:
- US-ASCII 七位 ASCII,又名 ISO646-US,又名 Unicode 字符集的基本拉丁语块
- ISO-8859-1 ISO 拉丁字母 No. 1,又名 ISO-LATIN-1
- UTF-8 八位 UCS 转换格式
- UTF-16BE 十六位 UCS 转换格式,大端字节序
- UTF-16LE 十六位 UCS 转换格式,小端字节序
- UTF-16 十六位 UCS 转换格式,字节顺序 由可选的字节顺序标记标识
在Java中我只是简单地使用了
Charset charset = Charset.forName(Enum.valueOf(opentestsystem.otf.model.types.Encodings.class,
encoding.name()).toString());
【问题讨论】:
-
欢迎来到 Stack Overflow。请阅读the help pages,获取the SO tour,了解how to ask good questions,以及this question checklist。也请尝试创建您自己的minimal reproducible example 以向我们展示。最后,选择 一种 语言,不要使用不相关的语言标签发送垃圾邮件。
-
en.cppreference.com/w/cpp/string/char_traits -- 如果我理解这个问题对吗?
-
@ChefGladiator 我还不知道,但如果你知道如何在 Java 中使用 Charset,或许你可以帮助我。我研究了很多,但似乎没有任何与 Java 中的 Charset 相同的相关库或函数
-
最好发布简短但完整的 C++ 代码,显示问题所在..
-
@ChefGladiator 因为我才刚刚开始,所以我还没有任何 C++ 代码。