16进制字符串转字符串
2023-12-13 03:38:27
一、浏览器上
function hexToUtf8(hexString) {
const hexArray = hexString.match(/.{1,2}/g) || [];
const uint8Array = new Uint8Array(hexArray.map(hex => parseInt(hex, 16)));
const textDecoder = new TextDecoder('GB2312'); //可以切换字符编码
return textDecoder.decode(uint8Array);
}
// 示例用法
const hexString = "0D0A2D2D2D20B6C1C8A1B6A8CAB1C9CFB1A8B2CECAFD202D2D2D0D0A"; // 16进制字符串
const result = hexToUtf8(hexString);
console.log(result); // 输出: "hello, 你好"
在微信小程序中提示 TextDecoder is not defined,微信小程序环境中可能没有内置的TextDecoder
二、微信小程序上
在微信小程序中,如果你需要指定编码格式为GB2312,可以使用一个库来进行解码,因为微信小程序环境并没有原生支持GB2312编码。你可以考虑使用一个名为 iconv-lite 的库,该库支持多种字符编码的转换。
1、首先,在你的小程序项目中安装 iconv-lite 库:
npm install iconv-lite
2、然后,使用以下代码进行解码:
const iconv = require('iconv-lite');
function hexToGb2312(hexString) {
const buffer = Buffer.from(hexString, 'hex');
const decodedString = iconv.decode(buffer, 'GB2312');
return decodedString;
}
// 示例用法
const hexString = "0D0A2D2D2D20B6C1C8A1B6A8CAB1C9CFB1A8B2CECAFD202D2D2D0D0A"; // 16进制字符串
const result = hexToGb2312(hexString);
console.log(result); // 输出: "hello, 你好"
3、然在再在页面中显示
由于字符串中有\r\n,标签并不能使\r\n 换行,要
<text class="result_content">
{{logChina}}
</text>
文章来源:https://blog.csdn.net/weixin_40466351/article/details/134811467
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!