请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

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

  • Yes我爱慕课网!

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


正在回答

2回答

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

0 回复 有任何疑惑可以回复我~
  • 提问者 南国漂泊 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-07-26 01:59:10
提问者 南国漂泊 2018-07-26 01:58:31

https://img1.sycdn.imooc.com//szimg/5b58b83900018b7c17780484.jpg

  • 这张图是从wikipedia上截取的

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

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

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




0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信