Unicode转义(\uXXXX)的编码和解码
在涉及Web前端开发时, 有时会遇到\uXXXX
格式表示的字符, 其中XXXX
是16进制数字的字符串表示形式, 在js中这个叫Unicode转义字符, 和\n
\r
同属于转义字符. 在其他语言中也有类似的, 可能还有其它变形的格式.
多数时候遇到需要解码的情况多点, 所以会先介绍解码decode, 后介绍编码encode.
下文会提供Javascript C# Java三种语言下不同方法的实现和简单说明, 会涉及到正则和位运算的典型用法.
Javascript的实现
解码的实现
1 2 3 |
|
unescape
是用来处理%uXXXX
这样格式的字符串, 将\uXXXX
替换成%uXXXX
后unescape
就可以处理了.
编码的实现
1 2 3 4 5 |
|
和解码中相对应, 使用escape
编码, 然后将%uXXXX
替换为\uXXXX
, 因为escape
还可能把一些字符编码成%XX
的格式, 所以这些字符还需要使用unescape
还原回来.
escape
编码结果%uXXXX
中的XXXX
是大写的, 所以后面的replace
只处理大写的A-F
.
另一种编码的实现
不使用正则和escape
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
转载于:https://www.cnblogs.com/seesea125/articles/4112945.html
Unicode转义(\uXXXX)的编码和解码相关推荐
- JS实现Html转义和反转义(html编码和解码)的方法总结
1.JS实现html转义和反转义主要有两种方式: 1).利用用浏览器内部转换器实现html转义: 2).用正则表达式实现html转义: 2.封装的JS工具类: var HtmlUtil = {/*1. ...
- Python中使用Unicode对中文进行编码和解码
编码: str = 'Python才是世界上最好的语言'.encode('unicode_escape') print(str) 输出结果: b'Python\\u624d\\u662f\\u4e16 ...
- RapidJSON 代码剖析(三):Unicode 的编码与解码
根据 RFC-7159: 8.1 Character Encoding JSON text SHALL be encoded in UTF-8, UTF-16, or UTF-32. The defa ...
- 【转】python 字符编码与解码——unicode、str和中文:UnicodeDecodeError: 'ascii' codec can't decode...
原文网址:http://blog.csdn.net/trochiluses/article/details/16825269 摘要:在进行python脚本的编写时,如果我们用python来处理网页数据 ...
- C#编码格式转换,Url,escape,unicode编码和解码
数据操作时,设计的各种类型的编码和解码方法 1 转换escape编码,解码Escape /// <summary>/// 转换escape编码/// </summary>/// ...
- html转义字符解码,js对html转义和反转义以及编码和解码
在项目开辟过程当中,我会有时候赶上如许的一个营业需求:对从数据库中读取出来的html数据举行反转义,才在当前网页当前举行衬着. 或许另一个需求,对编辑器中的文本举行编码再传进数据库,或许从库中读取的数 ...
- js对html转义和反转义以及编码和解码
js对html转义和反转义以及编码和解码 在项目开发过程中,我会有时候遇上这样的一个业务需求:对从数据库中读取出来的html数据进行反转义,才能在当前网页当前进行渲染. 或者另一个需求,对编辑器中的文 ...
- python编码和解码_Python中的编码与解码(转)
Python中的字符编码与解码困扰了我很久了,一直没有认真整理过,这次下静下心来整理了一下我对方面知识的理解. 文章中对有些知识没有做深入的探讨,一是我自己也没有去深入的了解,例如各种编码方案的实现方 ...
- 不要小看它——编码与解码
前言 说说我为什么要写关于编码的一篇博文?有两个原因 1.艺龙的面试面试官问到了,让我知道了你想扩展的你的基础,你不能放弃任意一个知识点 2.就是今天做业务碰到了这个bug,肯定有人想知道,这个会产生 ...
最新文章
- C++对象模型1——类对象的sizeof、static成员、对象模型、this指针
- 【Android 组件化】路由组件 ( 路由组件结构 )
- 安全篇:弱密码python检测工具
- java象棋人机代码_中国象棋人机对弈Java版源码
- 【小白学习PyTorch教程】十五、BERT:通过PyTorch来创建一个文本分类的Bert模型
- adb命令中的keyevent事件
- asr1601芯片平台实现ssl加密的websocket
- Redis主从读写分离配置
- 【算法大赛直播周】隐私保护与精准营销亦能兼得,“联邦广告”如何打破数据孤岛?
- 活动目录系列之十二:活动目录的修复(下)
- GENTLE.NET快速上手
- h3csnmp管理命令_华为H3C交换机SNMP配置命令
- 计算机学院主管学生日常工作的是,学生会的年度计划书(网络版)doc(完整版)...
- 随手写了一段C++访问LDAP, 并且获取sid的代码
- 【因缘际会】知乎APP的简单的产品体验报告
- packetfence 7.2网络准入部署2
- 计算机组装图纸手画,原神玩家为造家园能有多拼?工科大佬直接画出图纸,成品效果惊人...
- Android P指示灯调节代码逻辑
- 记一次过掉rar未注册版,总是弹出一个烦人的网页对话框的实践
- 实验3-5 查询水果价格
热门文章
- 手写java_手写JAVA虚拟机(二)——实现java命令行
- python规则网格插值_Python中规则网格上的插值
- mysql乐观锁处理超卖_通过乐观锁解决库存超卖的问题
- 如何用C语言改变宏定义的大小,C语言中宏定义使用的小细节
- java模拟使用接口,关于java:模拟一个类与模拟它的接口
- layui一个表格中怎么接两个接口的值_layer学习笔记之table表格引入数据实现分页...
- mysql注册数据库_基于mysql数据库的注册
- Python可视化——3D绘图解决方案pyecharts、matplotlib、openpyxl
- 卷积神经网络基础:(7)经典的网络架构
- 咕泡学院:(1)唐宇迪python课程作业