JavaScript字符集编码与解码详谈
发布时间 - 2026-01-10 22:49:18 点击率:次一、字符集

1)字符与字节(Character)
字符是各种文字和符号的总称,包括乱码;一个字符对应1~n个字节,一字节对应8位,每位用0或1表示。
2)字符集(Character Set)
字符集是多个字符的集合,每个字符集包含的字符个数不同,常见字符集名称:ASCII字符集、GB2312字符集、Unicode字符集等。
3)字符集编码(Character Encoding)
字符集编码就是将符号转换为计算机可读的二进制,解码就是把二进制转换为人类可读的符号。
字符集大多对应一种编码方式(例如GBK对应GBK编码),但Unicode编码有多种,包括UTF-8、UTF-16、UTF-32和UTF-7。
目前网页用的最多的就是“UTF-8”,UTF-8使用一至四个字节为每个字符编码,是ASCII的一个超集,所以现存的ASCII文本不需要转换
二、浏览器进制
1)HTML属性中使用十进制和十六进制
十进制在HTML中可使用“8”,十六进制,则使用“Z”,比十进制多了个x,进制码中也多了a~f这6个字符来表示10~15。
2)CSS属性中使用十进制和十六进制
CSS兼容HTML的进制形式,除此之外,十六进制还可以使用“\6c”的形式来表示。
3)JavaScript编码封装
可以直接通过eval执行字符串八进制和十六进制两种编码方式,其中八进制用“\56”表示,十六进制用“\x5c”表示。
如果代码中应用了汉字并且需要进行进制编码,那么只能进行十六进制Unicode编码,其表示形式为:“\u4ee3\u7801”。
在“Web前端黑客技术揭秘”中经封装了两个方法来做编码和解码,主要用到了下面两个方法,具体代码可查看此处。
核心代码是:“str.charCodeAt(char).toString(进制)”与“String.fromCharCode(parseInt(code,进制))”
charCodeAt() 方法返回0到65535之间的整数,表示给定索引处的UTF-16代码单元
静态String.fromCharCode() 方法返回使用指定的Unicode值序列创建的字符串。
还可以通过一个在线网页进行编码解码“MonyerJS”。
4)HTML自动解码机制
例如在网页中输入16进制的“Hello”,自动就会解码为“hello”。
还有一些比较熟知的空格“ ”也是这种机制。
三、浏览器编码
JavaScript中有三对可以对字符串编码解码的函数,分别是:
escape/unescape、encodeURI/decodeURI、encodeURIComponent/decodeURIComponent。
主要的区别还是不编码的字符个数。
1)escape不编码的字符有69个
*、+、-、.、/、@、_、0~9、a~z、A~Z而且escape对0~255以外的unicode值进行编码时输出%u****格式。
2)encodeURI不编码的字符有82个
!、#、$、&、'、(、)、*、+、,、-、.、/、:、;、=、?、@、_、~、0~9、a~z、A~Z
3)encodeURIComponent不编码的字符有71个
!、'、(、)、*、-、.、_、~、0~9、a~z、A~Z
# javascript编码解码
# javascript
# 字符集
# 解码
# 详解JavaScript中的forEach()方法的使用
# JavaScript实现随机码的生成与校验
# JavaScript中字符串GBK与GB2312的编解码示例讲解
# 还可以
# 转换为
# 就会
# 多个
# 最多
# 不需要
# 两种
# 中有
# 用了
# 可以直接
# 来做
# 装了
# 还有一些
# 以对
# 也多
# 有多种
# 中应
# 中经
# x5a
# 十进制多
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何处理文件下载请求?(Response示例)
Python并发异常传播_错误处理解析【教程】
香港服务器租用每月最低只需15元?
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
Laravel怎么在Controller之外的地方验证数据
Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比
如何在万网主机上快速搭建网站?
laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法
如何在万网自助建站中设置域名及备案?
如何快速完成中国万网建站详细流程?
Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践
历史网站制作软件,华为如何找回被删除的网站?
高防服务器:AI智能防御DDoS攻击与数据安全保障
百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧
如何在服务器上配置二级域名建站?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】
Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门
消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工
Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程
Python自动化办公教程_ExcelWordPDF批量处理案例
微信小程序 wx.uploadFile无法上传解决办法
html5如何实现懒加载图片_ intersectionobserver api用法【教程】
如何在IIS中新建站点并配置端口与物理路径?
如何在 Pandas 中基于一列条件计算另一列的分组均值
香港服务器如何优化才能显著提升网站加载速度?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
C++用Dijkstra(迪杰斯特拉)算法求最短路径
javascript中对象的定义、使用以及对象和原型链操作小结
智能起名网站制作软件有哪些,制作logo的软件?
香港服务器建站指南:免备案优势与SEO优化技巧全解析
HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】
高端网站建设与定制开发一站式解决方案 中企动力
JavaScript中的标签模板是什么_它如何扩展字符串功能
Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载
Laravel如何实现多对多模型关联?(Eloquent教程)
C#如何调用原生C++ COM对象详解
js代码实现下拉菜单【推荐】
如何在万网ECS上快速搭建专属网站?
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
java ZXing生成二维码及条码实例分享
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
js实现点击每个li节点,都弹出其文本值及修改
魔毅自助建站系统:模板定制与SEO优化一键生成指南
网站建设要注意的标准 促进网站用户好感度!

