首页 > 其他分享 >揭秘字母a的 六副面孔:编码世界的趣味探险

揭秘字母a的 六副面孔:编码世界的趣味探险

时间:2024-03-26 23:01:08浏览次数:47  
标签:编码 UTF 字符 16 码点 toString Unicode 趣味 揭秘

前言

字符是我们编写程序的基础的基础。

我们前端是最常见的字符,符号,数字,英文,中文, 我们通常都是使用直接量来表示,偶尔会在正则表达等场景用到UTF-16码点的格式,问题来了,那你知道JS有几种字符表示方式吗?

答案:至少6种,以字符a为例子:

`a`        // 'a'
'a'        // 'a'
'\a'       // 'a'
'\141'     // 'a'
'\x61'     // 'a'
'\u0061'   // 'a'
'\u{0061}' // 'a'

前三种都很理解, 后面这又是\, \x, \u, \u{}, 这都是什么玩意?

别急,我们一一道来。

更多前端基础进阶知识,可以 关注专栏 前端基础进阶,

特别申明: 测试代码最新版chrome上执行。

先看总结

格式示例码点范围注意
\8进制'\141'0-255模板字符串中不可直接使用
\x两位16进制'\x61'0-255必须两位
\u四位16进制'\u0061'0-65535必须四位
\u{16进制}'\u{0061}'0-0x10FFFF码点大于0xFFFF,length为2,下标访问值是高低位的值

编码基础知识

完全理解字符表示,还是需要一些简单的编码知识,我们一起来看看吧。

ASCII 码

ASCII 码一共定义了 128 个字符,例字母 a 是 97 (0110 0001)。这 128 个字符只使用了 8 位二进制数中的后面 7 位,最前面的一位统一规定为 0。

ASCII 码止共定义了128个字符,其中33个字符无法显示。0010 0000 ~ 0111 1110 (32-126)是可以显示的 ,基本都能使用键盘打出来, 具体参见对照表: ASCII编码对照表

ASCII 额外扩展的版本 EASCII,这里就可以使用一个完整子节的 8 个 bit 位表示共 256 个字符,其中就又包括了一些衍生的拉丁字母。 可以参见 extended-ascii-table

Unicode 和 码点

Unicode是字符集, 为了兼容ASCII,Unicode规定前0-127个字符是和ASCII是一样的,不一样的是128-255这一部分。

我们一起看看ASCII 128-255部分:

图片.png
再看看 Unicode的 128-255部分:

图片.png

其给某个字符规定对应的数值,我们经常称其为码点。我们可以通过字符串的实例方法charCodeAtcodePointAt获取,前者只能准确获取码点值小于0xFFFF(65535)的码点。

'

标签:编码,UTF,字符,16,码点,toString,Unicode,趣味,揭秘
From: https://blog.csdn.net/u012397879/article/details/137060184

相关文章

  • 技术探索:《Verdant Ventures》游戏开发揭秘
    开发团队:Gaz_lingca开发编号:C6WC3U9欢迎来到《VerdantVentures》游戏开发揭秘的博客!在本文中,我们将深入研究这款游戏的开发过程和关键技术游戏简介:《VerdantVentures》是一款探险游戏,玩家将在其中扮演探险者,探索神秘的植物世界。游戏中充满了未知的危险和挑战,玩家需要......
  • 趣味算法,猴子算法。python如何实现猴子算法
    给一只猴子一台打印机,虽然这只猴子根本不识字,但会乱按,经过一段时间后,在它乱按出来的单词里总能找到一些至少看起来是有意义的部分,比如一两个简短的单词,由此可以推出:只要给它足够长的时间,猴子甚至能完整地写出一本莎士比亚全集。这是不是听起来很有意思趣味算法,猴子算法。......
  • 【MATLAB源码-第15期】基于matlab的MSK的理论误码率与实际误码率BER对比仿真,采用差分
    操作环境:MATLAB2022a1、算法描述在数字调制中,最小频移键控(Minimum-ShiftKeying,缩写:MSK)是一种连续相位调制的频移键控方式,在1950年代末和1960年代产生。[1]与偏移四相相移键控(OQPSK)类似,MSK同样将正交路基带信号相对于同相路基带信号延时符号间隔的一半,从而消除了已调信号......
  • OpenAI创始人Sam独家专访!GPT5升级时间确定!揭秘OpenAI内幕
    原文链接:OpenAI创始人Sam独家专访!GPT5升级时间确定!揭秘OpenAI内幕3月25日,LexFridman与SamAltman进行了一场深度对话,这次采访持续了近两个小时,可以说是一次全面而深入的交流。在这次对话中,他们几乎触及了当前科技界最为关注的几个热点话题。SamAltman针对GPT-5、Sora......
  • 编码揭秘:解构字符%20背后的秘密与百分号编码艺术
    前言提到这个%20,想必大家都见过,熟悉一点编码的人,还会知道这玩意就是空格转换而来!那么我们一起破解,如何编码而来?我们今天继续学习前端编码知识,其他编码文章:前端Base64编码知识,一文打尽,探索起源,追求真相。localStorage灵魂五问。5M??10M!!!字母a的6种表示方法,以及其背后......
  • 快速了解 变分自编码器 VAE
    概述变分自编码器(VariationalAuto-Encoders,VAE)是自编码器AE的变体,由Kingma等人于2014年提出的生成式网络结构。以概率的方式描述潜在空间,在数据生成方面潜力巨大。自编码器AE自编码器(Auto-Encoder,AE),是一种无监督式学习模型。它可以将输入\(X\)映射为数据量小得多的潜......
  • 大数据——增加行政区编码列
    importpandasaspdfromsqlalchemyimportcreate_engine#从数据库中读取结果表数据到DataFrame中engine=create_engine('mysql+pymysql://root:wwsa20030207@localhost/python_bigdata')result_df=pd.read_sql('SELECT*FROMresult_with_dimension',c......
  • 海量数据处理项目-阿里编码规范里面Manager分层介绍和开发规范说明
    ......
  • 浅谈位置编码(RoPE)(未完待续...)
    当前版本为本文的尝鲜版,稳定版尚未发布:位置编码:https://zhuanlan.zhihu.com/p/454482273transformer的sin位置编码本身已经包含了相对位置信息,本身就是一种包含相对信息的绝对位置编码。因为它符合一种形式:\[PE_{t+k}=f(k)\cdotPE(t)\]而这种编码一种比较尴尬的地方就在于,这......
  • 腾讯云8核16G服务器价格揭秘:高性价比之选,一年仅需1668元!
    在当今这个数字化高速发展的时代,云服务器的需求日益旺盛,而价格与性能的平衡则是每位用户关注的焦点。今天,就让我们一同来探讨腾讯云旗下的一款热门配置——8核16G18M轻量应用服务器的性价比之选。首先,让我们来看看这款服务器的价格。在腾讯云的买赠专区,用户可以享受到1668元15......