Unicode 是不是只有两个字节,为什么能表示超过 65536 个字符
你只是大致知道平面0(「Basic Multilingual Plane」,即「BMP」)的 65536 个码点(即 0x0000 至 0xFFFF)如何编码,这不是 Unicode 的全部。
- BMP 的字符是 Unicode 中最基础和最常用的一部分,以 UTF-16 编码时使用2字节,以 UTF-8 编码时使用1至3字节。
- 超出 BMP 的字符以 UTF-16 或 UTF-8 编码都需要4字节。
- 另外还有一个比较少用的编码形式,UTF-32,它编码任何 Unicode 字符都需要4个字节。
Unicode 的基础是一个编号的字符集,在字符集之上又规定了模块化的编码等等技术层次,各种具体的编码形式并不一致,你说的「Unicode 只有两个字节」这句话根本不成立。
作者:梁海
链接:https://www.zhihu.com/question/22881537/answer/22947465
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
--------------------------------------------------------------------------------------------------------
网上说的占两个字节,一般是java程序员,char字符默认使用Unicode编码的ucs-16be,一个char占据两个字符,所以在char来表示大于65536时候,编译期会报错,如

那为什么string又可以呢?https://www.cnblogs.com/crazylqy/p/10481785.html
Unicode 是不是只有两个字节,为什么能表示超过 65536 个字符的更多相关文章
- 用FileInputStream读取数据,计算机如何实现将两个字节拼接成中文的?
package itcast_02; import java.util.Arrays; /* * 在计算机中如何识别将连个字节转换为中文的呢? * 在计算机中中文的存储为两个字节 : * 第一个字节 ...
- 【.net】从比较两个字节数组谈起
上午,有位初学者朋友问:如何比较两个字节数组中各字节是否相等? 不许笑,我一向反对嘲笑初学者,初学者不认真学习时你可以批评,但不能讥嘲.你不妨想想,你自己开始学习编程的时候又是什么个光景? 好,于是, ...
- javascript 返回字符长度,中文为两个字节,英文为一个字节
//正则:用于区分中文为两个字节function getLength(str){ return String(str).replace(/[^\x00-\xff]/g,'aa').length; ...
- TCP协议承载的DNS报文,DNS报文首部前多出两个字节的DNS报文长度字段,是何意义?
一.TCP报文头部简介 ●源.目标端口号字段:占16比特.TCP协议通过使用"端口"来标识源端和目标端的应用进程.端口号可以使用0到65535之间的任何数字.在收到服务请求时,操作 ...
- C语言中‘\n'为什么能表示CRLF两个字节
为什么要说这个简单的问题? 众所周知,在Windows下文本文件的换行符是CRLF,占两个字节.在Unix下是LF,占一个字节.(还有奇葩的Mac是CR).但是C语言中直接printf一个 ‘\n’, ...
- 一个字 word 是16位, 一个字由两个字节组成 , 字节=byte ,一个字节8位, 位=bit 如果没有特殊说明kb 就是指 k*bit
一个字 word 是16位, 一个字由两个字节组成 , 字节=byte,,一个字节8位, 位=bit 如果没有特殊说明kb 就是指 k*bit kbyte= k*byte
- Java基础知识强化之IO流笔记23:计算机是如何识别把两个字节拼接为中文(附加)
1. 计算机是如何识别什么时候该把两个字节转换为一个中文呢? 在计算机中中文的存储分两个字节: • 第一个字节肯定是负数. • 第二个字节常见的是负数,可能有正数.但是没影响. 2. 代码示例: pa ...
- PHP截取带有汉字的字符串,将汉字按两个字节计算
<?php header("Content-type:text/html;charset=utf-8"); /** *截取字符串,汉字占两个字节,字母占一个字节 *页面编码必 ...
- 关于PHP输出字符串多了两个字节的BUG
近日IOS开发那边小伙伴跟我说,解析服务器发回的字符信息时候出现bug. 明明利用Log输出来的是字符串"hello" 可是利用length计算就是多出来两个字节,比如这里是7. ...
随机推荐
- ntelliJ IDEA 仿照vs2017快捷键设置,以及字体颜色设置
因后期工作需要使用java技术栈,所以近期抽空下载了intelliJ IDEA工具,但是作为一个Net开发者,在使用了vs以后,感觉在使用别的开发工具感觉就是没法和vs相比,毕竟vs被称为宇宙最强id ...
- 爬虫学习笔记-urllib库
urllib库是python中一个最基本的网络请求库.可以模拟浏览器的行为,向指定的服务器发送一个请求,并可以保存服务器返回的数据. urlopen函数:在python3的urllib库中,所有和网络 ...
- Note | 常用指令和教程
目录 Ubuntu操作系统 基础操作 SSH-ubuntu 登录退出 设置SSH秘钥以免密登录 设置别名以免IP登录 传输文件 设置短密码 驱动问题(循环自登陆,分辨率异常) boot空间不足 Win ...
- java基础0615
1. 1)2) 1)输出:Base 2)编译成功,但没有输出. 2. 编译成功,但没有输出. 3. 只有12行的话,不会新建文件.需要create~~ 4. public static void ...
- 基于react可无限向内部添加节点的tree
这两天学习react,撸了一遍文档后开始自己动手写点东西. 正好从朋友那得到灵感,写一个小例子. 这个东西是这样的,就是点击的这个节点就往它里面添加一个child. 于是乎!我想到的就是用自调函数,递 ...
- MySQL--更新自增列的潜在风险
##=====================================================================##测试环境:MySQL版本:MySQL 5.7.19复制 ...
- Windows 10 IoT Core 17127 for Insider 版本更新
昨天,微软发布了Windows 10 IoT Core 17127 for Insider 版本更新,本次更新只修正了一些Bug,没有发布新的特性.相比于17120,修复了一个已知的问题. 一些已知的 ...
- nodejs常用代码片段
自动创建目录(多级) 相比起使用递归创建,调用 sheljsl 模块简单得多 const shell = require('shelljs') const fs = require('fs') if ...
- 吴恩达机器学习笔记5-梯度下降I(Gradient descent intuition)
梯度下降是一个用来求函数最小值的算法,我们将使用梯度下降算法来求出代价函数
- MySQL-8.0.11 在 Windows10 上的安装
下载 MySQL8.0 For Windows zip包下载地址:https://dev.mysql.com/downloads/file/?id=476233. 进入页面后可以不登录,点击底部“No ...