首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >多字节字符集编码与utf8不同吗?

多字节字符集编码与utf8不同吗?
EN

Stack Overflow用户
提问于 2022-01-02 13:34:57
回答 1查看 100关注 0票数 -1

我已经对unicode做了大量的阅读,并得出结论,Unicode是一个字符集,而utf8是一种可能的编码方式,碰巧是多字节编码。然而,当我被告知我的windows机器可能具有与utf8不同的地区设置时,进一步的读数让我有点困惑。

  1. 如果我的应用程序处理utf8,那么我首先需要从多字节用户输入转换为宽字符,然后转换到utf8。我的第一个问题是,为什么我需要这样做,因为utf8本身是一个多字节编码。那么,为什么我需要这样做呢?

  1. ,我的第二个问题是,如何才能在windows和Linux中获得当前的区域设置?为什么这种关于地区的讨论甚至还存在?我的意思是,为什么我们需要在编写一个unicode感知的application?
  2. My时考虑区域设置,第三个问题是,应用程序内部的utf8处理与保存应用程序源文件的编码是如何不同的?应用程序正在处理的编码(在我的例子中是utf8)与保存应用程序源代码的编码之间有什么关系吗?

  1. ,我的第四个问题是,当我们说应用程序知道Unicode时,它实际上意味着什么?这是否意味着它应该处理所有可能的Unicode编码或特定的Unicode编码?给定一个应用程序,如何找出它支持哪个unicode编码?
EN

回答 1

Stack Overflow用户

发布于 2022-01-02 14:57:14

是多字节字符集编码不同于utf8?

UTF-8是一个多字节字符集,但其他多字节字符集存在.

如果我的应用程序处理utf8,那么我首先需要将多字节用户输入转换为宽字符,然后转换为utf8。我的第一个问题是,为什么我需要这样做?

你一般不需要这么做。如果您有这样的情况是必要的,那么原因取决于该情况。

如何在windows和Linux中获得当前的区域设置?

您可以使用std::setlocale函数。如果将null作为第二个参数传递,它将返回作为第一个参数给定的类别的区域设置。

在POSIX系统上,您可以使用nl_langinfo函数获取给定区域设置的字符编码。

--为什么这种关于地区的讨论甚至还存在?

因为不同的编码、语言和约定是存在的。

--我的意思是,为什么我们需要在编写c++应用程序时考虑一下地区设置?

首先,除了unicode之外还有其他编码。没有区域设置,您就无法知道当前的编码是否为unicode。

其次,地区涵盖的不仅仅是编码。最重要的是,它涵盖了系统的语言。它还涵盖了诸如使用什么符号作为小数分隔符等内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70556400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档