网站建设 环保素材,做网站的虚拟机怎么用,wordpress php7,建网站公司的资质需要哪些在Python中#xff0c;字符串的编码和解码是处理字符串与字节之间转换的重要操作。
常见的字符串编码方式包括以下几种#xff1a;
ASCII 编码#xff08;American Standard Code for Information Interchange#xff09;#xff1a;ASCII 是最早的字符编码标准#xf…在Python中字符串的编码和解码是处理字符串与字节之间转换的重要操作。
常见的字符串编码方式包括以下几种
ASCII 编码American Standard Code for Information InterchangeASCII 是最早的字符编码标准使用 7 位二进制数即 128 个字符来表示常见的英文字母、数字和符号。Unicode 编码Unicode 是一种字符集为世界上几乎所有的字符分配了一个唯一的数字码点。Unicode 编码可以用不同的实现方式如 UTF-8、UTF-16 和 UTF-32。UTF-8 编码Unicode Transformation Format-8UTF-8 是一种变长字符编码能够表示 Unicode 字符集中的所有字符。它使用 1 到 4 个字节来表示一个字符。UTF-16 编码UTF-16 是一种变长字符编码使用 2 或 4 个字节来表示一个字符常用于表示 Unicode 字符。UTF-32 编码UTF-32 是一种固定长度编码每个字符使用 4 个字节表示能够准确地表示 Unicode 字符。Base64 编码Base64 编码将二进制数据转换为文本字符串的编码方式常用于数据传输和存储。URL 编码也称为百分号编码Percent Encoding用于在 URL 中表示特殊字符的编码方式。其他编码还有一些其他编码方式如 ISO-8859 系列、GB2312、Big5 等用于特定语言或地区的字符集编码。
其中应用最广莫过于Unicode 、Base64 、URL 编码。
1、Unicode 是一种字符集旨在为世界上几乎所有的书写系统中的每个字符分配一个唯一的标识符码点。Unicode 包含了各种语言的字符、符号、标点符号以及特殊符号使得计算机能够更好地支持多语言文本处理。
它主要应用在以下场景
国际化应用程序Unicode 的主要应用场景是在国际化应用程序中能够支持多种语言的文本输入、显示和处理使得软件能够在全球范围内使用。Web 开发在 Web 开发中Unicode 编码用于支持网站上的多语言内容确保用户能够看到并输入各种语言的文本。操作系统和软件许多现代操作系统和软件都采用 Unicode 编码来处理文本数据以支持不同语言环境下的用户需求。数据库存储在数据库系统中采用 Unicode 编码可以确保存储和检索各种语言的数据并支持多语言搜索和排序功能。文本处理工具Unicode 编码在文本处理工具、编辑器和办公软件中得到广泛应用使得用户能够处理各种语言的文本数据。
2、Base64 编码是一种将二进制数据转换为文本字符串的编码方式它将每三个字节的数据转换为四个可打印字符的编码形式。
它主要应用在以下场景
数据传输Base64 编码常用于在网络上传输数据特别是在电子邮件中因为电子邮件传输通常只支持文本数据的传输。通过将二进制数据编码为 Base64 格式可以确保数据在传输过程中不会丢失或损坏。数据存储有时候需要将二进制数据以文本形式存储在文本文件或数据库中而 Base64 编码可以方便地将二进制数据转换为文本格式进行存储。加密签名在某些情况下Base64 编码也可用于简单的数据加密或签名但它并不是真正的加密算法只是一种编码方式。图片和文件传输在 Web 开发中Base64 编码经常用于将图片或文件嵌入到 HTML 或 CSS 中以减少对外部文件的依赖。这种方式可以将图片或文件转换为 Base64 编码的字符串直接嵌入到代码中。
如
import base64# 编码
data bHello, World!
encoded_data base64.b64encode(data)
print(encoded_data) # 输出为 bSGVsbG8sIFdvcmxkIQ# 解码
decoded_data base64.b64decode(encoded_data)
print(decoded_data) # 输出为 bHello, World!
3、百分号编码Percent Encoding也被称为 URL 编码或 URL 转义是一种在 URL 中用特殊编码表示特殊字符的方法。在百分号编码中特殊字符被转换为 % 后跟两位十六进制数的形式例如空格会被编码为 %20。
它主要应用在以下场景
URL 中的参数传递在 URL 中传递参数时如果参数值包含特殊字符如空格、、#、%等为了确保 URL 的正确性和安全性需要对参数进行百分号编码。例如空格会被编码为 %20而 会被编码为 %26。处理特殊字符在处理文本数据时有时会遇到需要将特殊字符进行编码的情况。百分号编码可以确保特殊字符在传输和处理过程中不会引起歧义或错误。防止注入攻击在 Web 开发中对用户输入的内容进行百分号编码可以防止一些常见的注入攻击如 SQL 注入、XSS 攻击等。
如
假设有一个 URL 需要传递参数 nameJohn Doe其中包含空格那么在 URL 中应该使用百分号编码
原始 URLhttp://example.com?nameJohn Doe
编码后的 URLhttp://example.com?nameJohn%20Doe
在 Python 中可以使用 urllib.parse 模块中的 quote() 函数进行百分号编码
import urllib.parseoriginal_url http://example.com?nameJohn Doe
encoded_url urllib.parse.quote(original_url)
print(encoded_url) # 输出结果为 http%3A%2F%2Fexample.com%3Fname%3DJohn%20Doe百分号编码在 Web 开发中非常常见特别是在处理 URL 参数、构建动态 URL、处理表单数据等方面。通过百分号编码可以确保数据的正确性和安全性避免出现意外错误或安全漏洞。
总结 1、选择字符集编码的时候最佳的选择也是默认的是UTF-8编码。 2、编码和解码的字符集要保持一致否则就会出现乱码现场。 3、不能用ISO-8859-1编码保存中文否则会出现编码黑洞中文编程?。 4、UTF-8是Unicode的一种实现方案也是一种变长的编码最少1个字节英文和数字最多4个字节Emoji,表示中文用3个字节。