Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Encoding 代码页和编码_Encoding_Codepages - Fatal编程技术网

Encoding 代码页和编码

Encoding 代码页和编码,encoding,codepages,Encoding,Codepages,在有人建议我在谷歌上搜索之前,我已经做了。我只需要更清楚地了解什么是代码页和编码 如果我使用UTF8编码,然后使用意大利语代码页和法语代码页,这是否意味着即使字节没有改变,我也会得到不同的字符?Joel对此有一个很好的总结: 不,如果我没弄错你的问题,那不是这个意思。 当您将UTF-8转换为特定的代码页时,可能只转换部分字符。那些没有被转换的会发生什么取决于你如何调用转换。可能的结果是,无法映射到代码页的字符将转换为问号字符。编码只是数值和“字符”之间的映射 US-ASCII将数字65映射为字

在有人建议我在谷歌上搜索之前,我已经做了。我只需要更清楚地了解什么是代码页和编码


如果我使用UTF8编码,然后使用意大利语代码页和法语代码页,这是否意味着即使字节没有改变,我也会得到不同的字符?

Joel对此有一个很好的总结:

不,如果我没弄错你的问题,那不是这个意思。
当您将UTF-8转换为特定的代码页时,可能只转换部分字符。那些没有被转换的会发生什么取决于你如何调用转换。可能的结果是,无法映射到代码页的字符将转换为问号字符。

编码只是数值和“字符”之间的映射

US-ASCII将数字65映射为字母A,32映射为空格,49映射为数字“1”。(这些东西是如何呈现的是另一回事。)事实上,UTF-8也是这样做的!但UTF-8对其他值的处理与ASCII不同。它是可变长度编码,即一个字符可以用1、2、3或4个字节编码;普通字符通常占用更少的字节

纯文本文件(包括网页)以字节序列的形式存储和传输。这些字节应该表示文本内容。软件应用程序(如文本编辑器和web浏览器)负责在屏幕上呈现这些文件中的信息。通常,它们使用库或操作系统函数

如果软件采用与创建文件的软件不同的编码,则可能会显示错误的字符


注意,可以在不同编码之间转换;但是,如果您转换为不包含特定字符的编码,软件必须选择使用什么来代替。这种转换通常是透明的(当您使用特定编码保存文件时,您键入的任何内容都必须更改为该编码)。

UTF-8包含法语和意大利语代码页中的所有字符,但特定语言代码页并不包含其他所有字符

因此,您可以从每种语言获取输入并将其转换为UTF-8进行存储,但如果您使用意大利语输入并将其显示为法语,则无法确定是否会获得正确的字符


尽可能使用UTF-8。

为什么会被否决?这个问题的措辞不是很清楚,但这个答案对我来说似乎是正确的。