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
| function 十六进制字符串转十六进制数(v) { if (typeof v === "string") { v = parseInt("0x" + v); } return v; } function 机内码转汉字(机内码) { 机内码 = 十六进制字符串转十六进制数(机内码); let 国标码 = (机内码 - 0x8080); let 区位码0x = (国标码 - 0x2020).toString(16); let 区位码拆s = 区位码0x.split("").map(x => x); let 区位码s = [], 区 = ""; 区位码拆s.forEach((item, index) => { 区 = 区+item; if((index+1)%2 === 0) { 区位码s.push(区); 区 = ""; } }); 区位码s = 区位码s.map(x => 十六进制字符串转十六进制数(x)); return 区位码s.join(""); } console.log(机内码转汉字("d3b2"));
console.log(机内码转汉字("bacb"));
|