做外单什么网站好,网站模板下载之后怎么做,网络营销战略内容,东营市新闻最新消息可变长编码和不可变长编码
可变长编码是指不同字符使用不同数量的字节进行编码。例如#xff0c;UTF-8 编码中#xff0c;ASCII 字符使用 1 个字节编码#xff0c;而其他语言的字符使用 2 个或更多字节编码。
不可变长编码是指所有字符都使用相同数量的字节进行编码。例如… 可变长编码和不可变长编码
可变长编码是指不同字符使用不同数量的字节进行编码。例如UTF-8 编码中ASCII 字符使用 1 个字节编码而其他语言的字符使用 2 个或更多字节编码。
不可变长编码是指所有字符都使用相同数量的字节进行编码。例如UCS-2 编码中所有字符都使用 2 个字节编码。
可变长编码的优点
节省空间对于使用大量 ASCII 字符的文本可变长编码比不可变长编码节省空间易于扩展可变长编码可以轻松扩展以支持新的字符
可变长编码的缺点
处理复杂由于字符长度不固定处理可变长编码的文本比处理不可变长编码的文本更复杂兼容性问题并非所有系统都支持可变长编码
不可变长编码的优点
处理简单由于字符长度固定处理不可变长编码的文本比处理可变长编码的文本更简单兼容性好大多数系统都支持不可变长编码
不可变长编码的缺点
浪费空间对于使用大量非 ASCII 字符的文本不可变长编码会浪费空间难以扩展不可变长编码难以扩展以支持新的字符
总结
可变长编码和不可变长编码各有优缺点。选择哪种编码取决于具体应用场景。
以下是一些选择可变长编码的场景
需要节省空间需要支持多种语言
以下是一些选择不可变长编码的场景
需要简单易用的编码需要与其他系统兼容
一些常见的可变长编码
UTF-8UTF-16UTF-32
一些常见的不可变长编码 ASCII UCS-2 UCS-4 UTF-8 编码是可变长编码因为不同字符使用不同数量的字节进行编码。 ASCII 字符使用 1 个字节编码 西欧语言的大多数字符使用 2 个字节编码 其他语言的字符使用 3 个或更多字节编码
可变长编码有以下优点
节省空间对于使用大量 ASCII 字符的文本UTF-8 编码比固定长编码如 UCS-2节省空间易于扩展UTF-8 可以轻松扩展以支持新的字符
缺点
处理复杂由于字符长度不固定处理 UTF-8 编码的文本比处理固定长编码的文本更复杂兼容性问题并非所有系统都支持 UTF-8 编码
UTF-8 编码规则
1 个字节0xxxxxxx2 个字节110xxxxx 10xxxxxx3 个字节1110xxxx 10xxxxxx 10xxxxxx4 个字节11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
示例
字符 “A” 的 Unicode 码点是 U0041使用 1 个字节编码为 01000001字符 “中” 的 Unicode 码点是 U4E2D使用 3 个字节编码为 11100100 10100101 10010100
总结
UTF-8 编码是一种可变长编码具有节省空间和易于扩展的优点但也存在处理复杂和兼容性问题等缺点。
运行结果是 “python love i”。
解释
string.split() 将字符串 string 以空格 ( ) 为分隔符分割成一个列表reversed(string.split()) 将列表 string.split() 反转 .join(reversed(string.split())) 将列表 reversed(string.split()) 中的元素以空格 ( ) 为连接符连接成一个字符串
示例
string i love python# 将字符串分割成列表
split_list string.split()# 反转列表
reversed_list reversed(split_list)# 将列表连接成字符串
joined_string .join(reversed_list)print(joined_string)输出
python love i注意
split() 方法默认以空格 ( ) 为分隔符join() 方法默认以空格 ( ) 为连接符可以指定分隔符和连接符 运行结果是 “b a g”。
解释
s.split(,) 将字符串 s 以逗号 (,) 为分隔符分割成一个列表 .join(s.split(,)) 将列表 s.split(,) 中的元素以空格 ( ) 为连接符连接成一个字符串
示例
s b,a,g# 将字符串分割成列表
split_list s.split(,)# 将列表连接成字符串
joined_string .join(split_list)print(joined_string)输出
b a g注意
split() 方法默认以空格 ( ) 为分隔符join() 方法默认以空格 ( ) 为连接符可以指定分隔符和连接符