10、字符编码与输入安全:UTF - 8 及 HTML 处理指南

字符编码与输入安全:UTF - 8 及 HTML 处理指南

1. 字符编码概述

在文本交流中,字符编码至关重要。多年来,美国人使用 ASCII 字符集交换文本,由于美国的大多数系统都支持 ASCII,这使得英语文本的交换变得容易。然而,ASCII 完全不足以处理几乎所有其他语言的字符。不同国家采用了不同的技术来交换不同语言的文本,这在日益互联的世界中增加了数据交换的难度。

为了解决这个问题,ISO 开发了 ISO 10646,即“通用多字节编码字符集(UCS)”。UCS 为世界上的每个字符定义了一个 31 位的值。UCS 的前 65536 个字符(可以用 16 位表示)被称为“基本多语言平面(BMP)”,旨在涵盖当今几乎所有的口语语言。Unicode 论坛开发了 Unicode 标准,专注于 UCS 并添加了一些额外的约定以促进互操作性。历史上,Unicode 和 ISO 10646 由竞争团体开发,但现在它们相互协作。

如果编写处理国际化字符的新软件,应该以 ISO 10646/Unicode 为基础。但在处理旧文档时,要确保不可信用户无法控制文档的字符集设置,因为这会显著影响文档的解释。

2. UTF - 8 介绍

大多数软件并非为处理 16 位或 32 位字符而设计,但创建通用字符集需要超过 8 位。因此,开发了一种名为“UTF - 8”的特殊格式,以便现有程序和库更轻松地处理潜在的国际字符。UTF - 8 在 IETF RFC 2279 等文档中进行了定义,是一个可以自由阅读和使用的明确标准。

UTF - 8 是一种可变宽度编码:
- 编号为 0 到 0x7f(127)的字符编码为其自身的单字节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值