版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——谈谈php中的unicode和utf8编码谈谈php中的unicode和utf8编码
本文给大家深入议论了unicode和utf8这两种编码的关系,理解好了会察觉网上一些旧的东西,是严重多余兼过期的,由于从utf-8流行开头到现在,早已经由原来六字节可变编码到实际完全居于unicodeUCS-2的稳定阶段。
重新熟悉unicode和utf8编码
直到今天,切实的说是方才,我才知道UTF-8编码和Unicode编码是不一样的,是有识别的囧
他们之间是有确定的联系的,看看他们的识别:
UTF-8的长度是不确定的,有可能是1、2、3字节
Unicode长度确定,2个字节(USC-2)
UTF-8可以和Unicode彼此转换
unicode和utf8的关系
Unicode16进制
UTF-8二进制
0000-007F0xxxxxxx
0080-07FF110xxxxx10xxxxxx
0800-FFFF1110xxxx10xxxxxx10xxxxxx
上面的表格有2个意思,第一个显而易见就是说Unicode和UTF-8字符范围的对应,还有一个可以看出Unicode怎么和UTF-8彼此转换:
先说UTF-8到Unicode的转换
UTF-8编码的二进制和上面的3种格式举行匹配,匹配到之后去掉固定位(表格中的非x位置),然后从右到左每8位一组,不够8位左边不领,凑够2个字节16bits,这16bits所表示的就是UTF-8对应的Unicode编码,看看下面几个例子:
上面图片中的文字编码格式为UTF-8,可以用WinHex看到其16进制表示
复制代码代码如下:
字符=UTF-8=UTF-8二进制=去掉固定位置凑够16位的二进制=16进制
汉=E6B189=111001101011000110001001=0110110001001001=6C49
字=E5AD97=111001011010110110010111=0101101101010111=5B57
#下面是在chrome命令行下面运行的结果
\u6C49
汉
\u5B57
字
#到这里的'话,从UTF-8转换到Unicode已经是一件分外轻易的事了,看看转换的伪代码
读取一个字节,11100110
判断该UTF-8字符的格式,属于第三种,3个字节
持续读取2个字节得到111001011010110110010111
按照格式去掉固定位101101101010111
不够16位,左边补零0101101101010111=5B57
再看看从Unicode到UTF-8的转换
复制代码代码如下:
5B57
获取5B57所在的Unicode范围,0800=5B57=FFFF,得知5B57的UTF-8有三个字节,形式为1110xxxx10xxxxxx10xxxxxx
获取5B57的二进制编码101101101010111
用上一步骤的二进制编码从右至左拼接UTF-8编码111001011010110110010111
说说问题
再说说今天这个问题的起因,从前端输入好多单词,UTF-8格式每个词最多30个字节,因此会在前端和后台分别做验证,javascript用的是Unicode编码,后端程序用的是UTF-8编码,现在的解决手段是这样
前端
?
1
2
3
4
谈谈php中的unicode和utf8编码
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
functionutf8_bytesstr
varlen=0,unicode;
forvari=0;istr.length;i++
unicode=str.charCodeAti;
ifunicode0x0080
++len;
elseifunicode0x0800
len+=2;
elseifunicode=0xFFFF
len+=3;
else
throwcharactersmustbeUSC-2!!
returnlen;
#例子
utf8_bytesasdasdas
8
utf8_bytesyrt燕睿涛
12
后台
?
1
2
3
4
#对于GBK字符串
$len=ceils
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广东东莞市投资促进局招聘编外聘用人员1人备考题库含答案详解(黄金题型)
- 2026山东烟台市强制隔离戒毒所医院招聘1人备考题库含答案详解(研优卷)
- 2026江苏省交通技师学院招聘高层次人才4人备考题库含答案详解(a卷)
- 2026广西百色市西林县第三初级中学招聘后勤人员1人备考题库附答案详解(培优a卷)
- 2026上海市长宁区融媒体中心招聘3人备考题库附答案详解(模拟题)
- 2026天津市宁河区图书馆就业见习基地招聘1人备考题库及答案详解(名师系列)
- 2026四川南充阆中北大博雅骏臣学校教师招聘11人备考题库及一套答案详解
- 2026中煤鄂尔多斯能源化工有限公司面向中国中煤内部及社会招聘7人备考题库附答案详解(满分必刷)
- 2026山东枣庄仲裁委员会仲裁秘书招聘4人备考题库附答案详解(夺分金卷)
- 2026四川南充市第四人民医院招聘紧缺专业技术人员11人备考题库参考答案详解
- 骨质疏松症的治疗进展与新型药物研究
- 第18课 冷战与国际格局的演变 【基础深耕】高一下学期统编版(2019)必修中外历史纲要下
- 生态修复安全事故应急预案
- 煤矸石中黄腐酸的氧化提取及性质研究
- DB4403-T 257-2022 出租汽车停靠站点设置规范
- 中粮集团招聘笔试冲刺题2025
- 部编高教版2023·职业模块 中职语文 2.《宁夏闽宁镇:昔日干沙滩今日金沙滩》 课件
- 2024年官方兽医考试题库及参考答案
- 【公开课】多姿与多彩(生活色彩)课件高中美术人教版+(2019)+选择性必修1+绘画
- 国家职业技术技能标准 4-02-02-09 汽车救援员 人社厅发202226号
- 幼小衔接视域下幼儿学习品质培养策略探究
评论
0/150
提交评论