微信小程序string字符串转UTF-16,UTF-16转string字符转

  • string字符串转UTF-16

function ToUTF16(str) {

var result = new Array();

var k = 0;

for (var i = 0; i < str.length; i++) {

var j = str[i].charCodeAt(0);

result[k++] = j >> 8;

result[k++] = j & 0xFF;

}

return result;

}

  • UTF-16转string字符转

function hexToString(arr) {

var val = ''

for(var i = 0;i < arr.length;i = i+2){

val += String.fromCharCode((arr[i] * 256) + arr[i+1]);

}

return val;

  • }
微信小程序中,虽然原生API可能不直接支持GBK到UTF-8的换,但你可以通过第三方库或者一些编程技巧间接实现。以下是一种常见的做法,即先将GBK编码为Unicode,再从UnicodeUTF-8: 1. GBKUnicode: - 首先,你需要把GBK字符串按照每个字节拆分成数组。 - 然后,对于每个两个连续的字节,它们组合在一起代表了一个GB2312字符,你可以使用类似之前提到的`atob()`和`String.fromCharCode()`来获取其对应的Unicode码点。 2. UnicodeUTF-8编码,这个过程通常会涉及到JavaScript内置的`Buffer`对象或字符串处理方法。 下面是一个简化版的伪代码示例: ```javascript function gbkToUtf8(gbkStr) { let unicodeArr = []; for (let i = 0; i < gbkStr.length; i += 2) { let codePoint = unescape('%' + gbkStr.substr(i, 2) + '%'); unicodeArr.push(codePoint); } return encodeURI(unicodeArr.join('')); } function utf8ToGb2312(utf8Str) { // 虽然JavaScript本身无法直接做GBKUTF-8,但实际开发中可以借助第三方库,如iconv-lite等。 // 这里仅作演示,假设有一个名为convertToGb2312的外部函数能完成换 return convertToGb2312(utf8Str); } // 示例 let gbkStr = 'GBK编码的字符串'; let utf8Str = gbkToUtf8(gbkStr); let backToGbk = utf8ToGb2312(utf8Str); ``` 请注意,微信小程序可能有性能限制,频繁使用大串字符串进行这种换可能会导致加载缓慢,所以在实际项目中需要优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值