unicode和utf-8的关系
unicode是字符集;
UTF-8 则是一种字符编码方案;
unicode是字符集,其中包含了世界上大部分字符的编码。每个字符都被赋予了一个唯一的编号,这个编号称为码点(code point)。例如,拉丁字母 A 的 Unicode 码点是 U+0041,中文汉字 “你” 的 Unicode 码点是 U+4F60。
一般一个unicode字符用两个字节表示
UTF-8 则是一种字符编码方案,它使用 1~4个字节来表示 Unicode 码点。UTF-8 的编码方式具有以下特点:
可变长度:UTF-8 编码采用可变长度,根据字符的码点大小来确定使用多少个字节来表示该字符。ASCII 字符集中的字符只需要一个字节来表示,而较大的 Unicode 字符则需要更多的字节来表示(英文占用一个字节,中文占用三个字节)。
兼容 ASCII:UTF-8 编码与 ASCII 码兼容,因此在处理 ASCII 字符时,可以直接使用 ASCII 码对应的字节表示。
没有字节序问题:UTF-8 编码没有字节序问题,可以在不同的机器和操作系统之间进行传输和存储。
因此,UTF-8 编码是一种高效、灵活、兼容性强的字符编码方式,已经成为了 Web 开发和数据交换领域的主流编码方式。由于 UTF-8 编码与 Unicode 字符集紧密相关,因此常常会把它们放在一起讨论。