Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
UI
|
输入
|
媒体
|
导航
|
其他
|
网页模板
|
APP模板
|
常用代码
|
在线代码
背景
对话框和灯箱
筛选及排序
反馈
弹出层
悬停
布局
图表
加载
圆边
滚动
标签
文本链接
工具提示
网络类型
拾色器
定制和风格
日期和时间
拖和放
通用输入
自动完成
密码
投票率
搜索
选择框
快捷键
触摸
丰富的输入
上传
验证
音频和视频
幻灯片和轮播图
图片展示
图像
地图
滑块和旋转
Tabs
水平导航
垂直导航
文件树
分页
手风琴菜单
其他导航
动画效果
浏览器调整
移动
独立的部件
杂项
游戏
PROMULGATOR
Water
中国
关注作者
(0)
收藏此代码
(4)
← 纯css路径动画
→ 最简单的tab选项卡
相关代码
js
压缩
字符串
方法
图片html5在线
压缩
js
实现
字符串
和数组相互转换
JS
截取
字符串
常用方法详细整理
js
字符串
相似度分析
js
字符串
查找功能
去除
字符串
中的所有空格
Html
Css
Js
测试中文字符串hahaha
点击修改数据
点击还原数据
let isChange = 0 function changeText() { if (isChange === 0) { let text = document.getElementById('spanText').innerText let newText = chToHex(text) let changeText = compress(newText) document.getElementById('spanText').innerText = changeText isChange = 1 } else { alert('当前展示文本已经压缩,请解压后操作') return false } } function reductionText() { if (isChange === 1) { let text = document.getElementById('spanText').innerText console.log('原始数据', text) let reductionText = decompress(text) console.log('解压完成数据', reductionText) let reg = new RegExp("[\\u4E00-\\u9FFF]+", "g") if (reg.test(reductionText)) { console.log('包含中文') } let newText = hexToCh(reductionText) document.getElementById('spanText').innerText = newText isChange = 0 } else { alert('当前展示文本还未压缩,请压缩后操作') return false } } /** * 压缩字符串 */ function compress(strNormalString) { var strCompressedString = ""; var ht = new Array(); for (i = 0; i < 128; i++) { ht[i] = i; } var used = 128; var intLeftOver = 0; var intOutputCode = 0; var pcode = 0; var ccode = 0; var k = 0; for (var i = 0; i < strNormalString.length; i++) { ccode = strNormalString.charCodeAt(i); k = (pcode << 8) | ccode; if (ht[k] != null) { pcode = ht[k]; } else { intLeftOver += 12; intOutputCode <<= 12; intOutputCode |= pcode; pcode = ccode; if (intLeftOver >= 16) { strCompressedString += String.fromCharCode(intOutputCode >> (intLeftOver - 16)); intOutputCode &= (Math.pow(2, (intLeftOver - 16)) - 1); intLeftOver -= 16; } if (used < 4096) { used++; ht[k] = used - 1; } } } if (pcode != 0) { intLeftOver += 12; intOutputCode <<= 12; intOutputCode |= pcode; } if (intLeftOver >= 16) { strCompressedString += String.fromCharCode(intOutputCode >> (intLeftOver - 16)); intOutputCode &= (Math.pow(2, (intLeftOver - 16)) - 1); intLeftOver -= 16; } if (intLeftOver > 0) { intOutputCode <<= (16 - intLeftOver); strCompressedString += String.fromCharCode(intOutputCode); } return strCompressedString; } /* * * 解压缩字符串 */ function decompress(strCompressedString) { var strNormalString = ""; var ht = new Array(); for (i = 0; i < 128; i++) { ht[i] = String.fromCharCode(i); } var used = 128; var intLeftOver = 0; var intOutputCode = 0; var ccode = 0; var pcode = 0; var key = 0; for (var i = 0; i < strCompressedString.length; i++) { intLeftOver += 16; intOutputCode <<= 16; intOutputCode |= strCompressedString.charCodeAt(i); while (1) { if (intLeftOver >= 12) { ccode = intOutputCode >> (intLeftOver - 12); if (typeof(key = ht[ccode]) != "undefined") { strNormalString += key; if (used > 128) { ht[ht.length] = ht[pcode] + key.substr(0, 1); } pcode = ccode; } else { key = ht[pcode] + ht[pcode].substr(0, 1); strNormalString += key; ht[ht.length] = ht[pcode] + key.substr(0, 1); pcode = ht.length - 1; } used++; intLeftOver -= 12; intOutputCode &= (Math.pow(2, intLeftOver) - 1); } else { break; } } } return strNormalString; } chToHex() hexToCh() function chToHex(ch) { //汉字字符转16进制 if (ch) { var arr = ch.split('') var res = '' for (var i = 0; i < arr.length; i++) { res += arr[i].charCodeAt().toString(16) if (i != arr.length - 1) { res += ',' } } console.log(res) // 5468,516d return res } return false } function hexToCh(ch) { //16进制转汉字 if (ch) { var arr = ch.split(',') var res = '' for (var i = 0; i < arr.length; i++) { res += String.fromCharCode(parseInt(arr[i], 16)) } console.log(res) // 周六 return res } return false }
↑上面代码改变,会自动显示代码结果 jQuery调用版本:
1.11.3
立即下载
js压缩字符串方法
代码描述:js压缩字符串代码
更新时间:2023-04-02 23:40:35
将中文字符串转换为16进制,然后将16进制压缩
0
最新
发表评论
全部评论
暂时没有评论!
登录后才可以评论
30秒后在评论吧!
发表评论
回复
取消回复
<!doctype html> <html> <head> <meta charset="utf-8"> <title>js压缩字符串方法-jq22.com</title> <script src="https://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script> <style>
</style> </head> <body>
<script>
</script>
</body> </html>
2012-2021 jQuery插件库版权所有
jquery插件
|
jq22工具库
|
网页技术
|
广告合作
|
在线反馈
|
版权声明
沪ICP备13043785号-1
浙公网安备 33041102000314号