RUST编程学习-碎片1-UTF-8编码

发布时间:2026/7/14 7:01:00

RUST编程学习-碎片1-UTF-8编码 前言一、UTF-8编码1.原理2. 编码特性3. 应用二、案例1.编译案例总结前言在学习过程中又会有很多的点需要注意和深入了解在此就专门做个番外篇知识碎片随手可以记录知识点巩固细节一、UTF-8编码在学习rust的过程中在工作过程中也会涉及到编码类型问题这个在之前学习编程语言中并没有去注意这次就好好整理学习一下1.原理UTF-8是一种变长编码格式采用1-4个字节为字符进行编码ASCII字符0-127使用1个字节大部分汉字采用3个字节编码少量不常用汉字采用4个字节编码2. 编码特性UTF-8的核心设计目标是在兼容性和效率之间取得平衡关于编码特性可以参考编码格式UTF-88-bit Unicode Transformation Format_utf-8编码-CSDN博客编码的区别字符编码的概念UTF-8、UTF-16、UTF-32都是什么鬼-CSDN博客3. 应用UTF-8因其卓越的特性已成为互联网和计算机系统中最广泛使用的字符编码标准互联网 (WWW):HTML:meta charsetUTF-8是HTML5的标准声明确保网页能正确显示各种语言的字符。XML:默认编码也是UTF-8。JSON:通常使用UTF-8编码传输文本数据。URL:虽然URL本身有特定编码规则但其中的非ASCII字符通常建议先转换为UTF-8字节序列再进行百分号编码Percent-encoding。电子邮件:现代邮件协议如SMTP支持使用UTF-8传输邮件头和正文以支持国际化邮件地址和内容。操作系统:Unix/Linux/macOS:系统内部和终端环境普遍使用UTF-8。Windows:虽然内部使用UTF-16但其支持的文件系统和许多应用程序如记事本、浏览器都完全支持读写UTF-8编码的文件。文件存储:文本文件:是存储包含多语言文本文件的理想选择。.txt,.csv,.json,.xml等文件常采用UTF-8编码。源代码:现代编程语言如Python 3, Java, Go, Rust等的源文件通常默认或推荐使用UTF-8编码以便在代码中直接使用各种语言的标识符、字符串和注释。数据库:现代数据库系统如MySQL, PostgreSQL, SQLite, MongoDB都支持使用UTF-8或其变体如MySQL的utf8mb4存储文本数据以容纳全球字符集。软件开发和API:跨平台应用程序和库优先使用UTF-8进行字符串处理和通信以保证一致性和兼容性。网络API如RESTful API通常使用UTF-8编码的JSON或XML作为数据交换格式。二、案例1.编译案例案例1let mut chars expression.chars().peekable();1. expression.chars()作用获取字符串的字符迭代器。解释在 Rust 中字符串默认不是按字符索引的因为 UTF-8 编码的原因直接通过下标访问可能不安全或效率低。.chars()方法返回一个迭代器让我们可以按顺序逐个访问字符串中的字符char案例2let chars: Vecchar input_str.chars().collect();2.input_str .chars()作用获取字符串的字符迭代器。input_str是我们要处理的字符串。chars()是字符串的一个方法。在 Rust 中字符串默认不支持像数组那样直接通过下标如input_str[0]访问单个字符因为 Rust 的字符串是 UTF-8 编码的有些字符可能占用多个字节。调用.chars()会返回一个“迭代器”它就像一个传送带把字符串里的字符一个接一个地排队拿出来。3.for cmd in cmds.chars()let cmds String::from(GLR); for cmd in cmds.chars() { // 这里是循环体 }总结在面对String类型的时候要用.chars()for循环里面也需要这样转换才行在不断学习中进行更新……

相关新闻