Fedora中显示windows下的文件

时间:2021-11-09 03:47:39

在中国windows的编码是本地编码 , 即GBK,GB2312,GB18030等

  GBK  也就是windows-986

Windows现在只支持Unicode (UTF-16),不再支持ANSI(因为各国家地区标准不统一,导致转换不便)

android系统中的编码,根据不同地区法律改变?

ASCIl的时候, 还不区分字符集和编码.

字符集(char set)就是字符的集合,收录了一定数量的字符。每个字符有对应的ID值,叫码点(code point)。实际存储的时候,不一定是直接存储字符串的码点(比如,为了节约空间),要进行转换。这个转换规则就是编码。

有多少个字符集呢?

名词解析:

character encoding

code point / code position

character map 字符映射

BOM (Byte Order Mark),字节顺序标记,出现在文本文件头部,Unicode编码标准中用于标识文件是采用哪种格式的编码。

  UCS 规范建议我们在传输字节流前, 先传输字符 "Zero Width No-Break Space"。这样如果接收者收到 FEFF,就表明这个字节流是 Big-Endian 的;如果收到FFFE,就表明这个字节流是 Little- Endian 的。因此字符 "Zero Width No-Break Space" (“零宽无间断间隔”)又被称作 BOM。

ANSI ANSI编码

  ascii gbk2312 big5 等都是ANSI的一种

  不同 ANSI 编码之间互不兼容

UCS Unicode Character Set

UTF-8  UTF意为通用字集转换格式(Universal Character Set Transformation Format) 

  编码方案

  UTF-7、UTF-8和UTF-16都是基于Unicode的编码方案。

Unicode  Universal Multiple-Octet Coded Character Set

  范围0-0x10FFFF : 1114112个字符   (17*65536 : 17个plane,每个plane有65536个字符)

  已定义的有近十万个字符,其中七万多是汉字

  

  字符集 UTF-8编码用这个字符集,UTF-16也是用这个字符集.

MBCS(Multi-Byte Chactacter System,即多字节字符系统)  它是编码的一种类型,而不是某个特定编码的名称。

UTF-16 和 UTF-8 一样是变长的编码. (它们变长的"粒度"不一样,以8比特为单位增加和以16比特为单位增加.),以此类推UTF-32 至少需要32比特表示

  因为至少要二个字节表示一个字符,所以UTF-16不兼容ASCII (一个字节)

码位 : 可以分配给字符的数字。

UCD: Unicode字符数据库(Unicode Character Database)

  block script

Big Endian和Little Endian

  

utf-8没有大小端的问题?

  因为UTF-8是前缀码,而UTF-16有这个问题.所以需要BOM标记.

命令:

locale

locale -a

问题

一篇文章能有两种编码吗(比如前部分为UTF-8 , 后面为GBK18030) ?  如果这样不冲突,编码如何被解码?  (或者这样表述更清楚,两种编码能混用吗?)

一些工具:

  查看字符的实际编码.对应的二进制数据.

Linux下的工具:

  locale 命令的作用范围,例外情况( 在某个应用或路径中使用指定的locale)

字符集:en_US.UTF-8 支持中文吗?

  en_US.UTF-8 表示的字符集和zh_CN.UTF8 都是UTF-8 , 前面的en_US 或 zh_CN只是告诉系统,你讲什么语言,在哪个地域.

  UTF-8是编码,它属于Unicode字符集。

解码,编码过程?

UTF-16分为大端和小端, UTF-8呢?

  UTF-8

一段二进制编码,如何确定它是GBK还是BIG5还是UTF-16/UTF-8?  

  记事本的做法是在TXT文件的最前面保存一个标签,如果记事本打开一个TXT,发现这个标签,就说明是unicode。标签叫BOM,,如果是0xFF 0xFE,是UTF16LE,如果是0xFE 0xFF则UTF16BE,如果是0xEF 0xBB 0xBF,则是UTF-8。如果没有这三个东西,那么就是ANSI,使用操作系统的默认语言编码来解释。(链接:https://www.zhihu.com/question/20650946/answer/15751688)

  

()

输入法实现?

打开记事本,输入一些字符,是在保存的时候才确定编码方式的吗? 如果是,在保存之前记事本中的内容用什么术语称呼?

活用:

自己如何设计出一种编码?

输入法设计

编码类型转换:

  

============================================================================================================

一些可以帮助理解的模型,解释字符集等一系列相关概念的关系:

  四层模型,五层模型

相关文章