现在的新项目应该很少再使用 gbk
或 gb2312
了, 但还是有不少老项目在使用;
而新项目免不了要与老项目有一些”沟通”;
这样的项目, 尤其是一些web项目, 常常需要考虑到底是前端引一个GBK库, 还是在服务端处理GBK的问题, 因为web端使用GBK库一般会比较大, 而在服务端处理又有些麻烦;
如果有一个超小的GBK库就方便了;
项目地址:
https://github.com/cnwhy/GBK.js
特性
- 就是比一般的GBK库要小, 主要是改进了之前网上流传的一个GBK库, 大概50几K, 改进后的库31k, 而正常的GBK编码表就要到200k了;
- 增加了
URI
相关的函数; - 项目中包含了压缩GBK编码表整套方案,方便自行优化,生成更小的库文件.
API
GBK.encode({string}) 解码GBK为一个字节数组
1 | GBK.encode('时顺地?abc地') |
GBK.decode({BbyteArry}) 解码GBK编码的字节数组 返回字符串
1 | GBK.decode([ 202, 177, 203, 179, 181, 216, 63, 97, 98, 99, 181, 216 ]) |
URI相关函数
GBK.URI.encodeURI({String}) 转换规则和 encodeURI
函数一至
1 | GBK.URI.encodeURI('https://abc.com/?kk=abv&bb=火车头#top') |
GBK.URI.decodeURI({String}) 转换规则和 decodeURI
函数一至
GBK.URI.encodeURIComponent({String}) 转换规则和 encodeURIComponent
函数一至
1 | GBK.URI.encodeURIComponent('https://abc.com/?kk=abv&bb=火车头#top') |