js 字符实体互相转换
字符串 => 字符实体
function stringToEntity(str,radix){ let arr=[] //返回的字符实体默认10进制,也可以选择16进制 radix=radix||0 for(let i=0;i<str.length;i++){ arr.push((!radix?'&#'+str.charCodeAt(i):'&#x'+str.charCodeAt(i).toString(16))+';') } let tmp=arr.join('') return tmp }
字符实体 => 字符串
function entityToString(entity){ let entities=entity.split(';') entities.pop() let tmp='' for(let i=0;i<entities.length;i++){ let num=entities[i].trim().slice(2) if(num[0]==='x')//10进制还是16进制 num=parseInt(num.slice(1),16); else num=parseInt(num); tmp+=String.fromCharCode(num) } return tmp }
ES6写法
function stringToEntity(str,radix){ let arr=str.split('') radix=radix||0 let tmp=arr.map(item=> `&#${(radix?'x'+item.charCodeAt(0).toString(16):item.charCodeAt(0))};`).join('') console.log(`'${str}' 转实体为 '${tmp}'`) return tmp } function entityToString(entity){ let entities=entity.split(';') entities.pop() let tmp=entities.map(item=>String.fromCharCode( item[2]==='x'?parseInt(item.slice(3),16):parseInt(item.slice(2)))).join('') console.log(`'${entity}' 转字符串为 '${tmp}'`) return tmp }
字符转HTML实体编码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <html> <head> <title>字符转HTML实体编码</title> <script> //HTML实体对照表: http://tool.xker.com/htmlchar.php function $(id) { return document.getElementById(id);} function htmlEncode(input) { var code = input.charCodeAt(); // 获得实体编码 var div = $( "divCode" ); /* * 实体编码的格式是:&#数字; * & 是 & * # 是 # * code 用户输入的字的实体编码 * ; 是 ; * * 如果直接写成 "&#" + code + ";"; 的形式会被浏览器直接解析为对应的字符,从而失去了编码的作用。 */ div.innerHTML = "&" + "#" + code + ";" ; //String.fromCharCode(code); 解码/ } </script> </head> <body> <input type= "text" onchange= "htmlEncode(this.value)" /> <div id= "divCode" ></div> </body> </html> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具