引言
我们在先前的文章了解字符编码:ASCII、UTF-8中提到,从各国的文字、生僻字,到抽象老哥喜欢的 emoji ,再到各种奇奇怪怪的符号,Unicode海纳百川,无所不有。
在这篇博客中,我们的重点并不在于上面提到的 Unicode 多种多样的奇葩字符——我们将聚焦于一种特殊的字符:零宽字符,并基于此制作一款信息加密小工具。
我们在先前的文章了解字符编码:ASCII、UTF-8中提到,从各国的文字、生僻字,到抽象老哥喜欢的 emoji ,再到各种奇奇怪怪的符号,Unicode海纳百川,无所不有。
在这篇博客中,我们的重点并不在于上面提到的 Unicode 多种多样的奇葩字符——我们将聚焦于一种特殊的字符:零宽字符,并基于此制作一款信息加密小工具。
这,是一个字符串
smile 😊
由于你的计算机只能识别 0
和 1
这样的数字,为了让它读懂这个字符串,需要建立字符串中的每个字符到特定内容的映射 (Mapping).
于是,ASCII、GBK、BIG-5、UTF-32、UTF-16、UTF-8等编码应运而生。它们基于对应的字符集 (Charset),将其中字符 (Character) 与 码点 (Code Point) 之间的映射关系,进一步实现为字符与计算机储存、传输内容(如二进制数、电脉冲)的映射关系,让我们得以在计算机上使用我们的语言.
为了更好地了解现代计算机所使用的编码规则,我们先从 ASCII 开始.