老师,程序是怎样准确判断一个字节的英文字符和三个字节的中文的字符的呢?

来源:3-6 字符和字符串处理

南国漂泊

2018-07-20

  • Yes我爱慕课网!

  • 程序会否错误的把“Yes”这三个单字节当成一个三字节处理呢?如果不会,那程序是怎样设计以保证这一点的呢?


写回答

2回答

ccmouse

2018-07-25

当然不会。这是编码方案里面规定的。基本上是预留了一些取值空间,看到这些值才会认为这个字节是一部分字符需要往后看。具体怎么规定的我们可以看一下utf-8标准

0
1
南国漂泊
非常感谢!
2018-07-26
共1条回复

南国漂泊

提问者

2018-07-26

//img.mukewang.com/szimg/5b58b83900018b7c17780484.jpg

  • 这张图是从wikipedia上截取的

  • 从图中可以看到,如果是一个字节的英文字符,最高位是 0 ;如果传输的是两个字节,第一个字节的高位是 110 ,第二个字节高位是 10 ;其他的以此类推…… 

  • 从第一个字节就可以判断出,你传输的是单字节的英文字符还是三字节的中文字符。

  • 目前,我是这样理解的!




0
0

Google资深工程师深度讲解Go语言 由浅入深掌握Go语言

语法+分布式爬虫实战 为转型工程师量身打造

5995 学习 · 1909 问题

查看课程