16进制字符串转字符串

一、浏览器上

c 复制代码
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 库:

c 复制代码
npm install iconv-lite

2、然后,使用以下代码进行解码:

c 复制代码
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 换行,要 标签才能进行换行

c 复制代码
<text class="result_content"> 
				{{logChina}}
			</text>
相关推荐
arbboter12 小时前
【AI插件开发】Notepad++ AI插件开发1.0发布和使用说明
人工智能·大模型·notepad++·ai助手·ai插件·aicoder·notepad++插件开发
盛夏绽放15 小时前
uni-app中获取用户实时位置完整指南:解决权限报错问题
uni-app·notepad++
曲江涛2 天前
爆改 toxml 组件 支持数据双向绑定 解决数据刷新问题
notepad++
arbboter4 天前
【AI插件开发】Notepad++ AI插件开发实践:支持配置界面
人工智能·notepad++·notepad++插件开发·图形化配置界面·windows原生开发·json配置同步·对话框编程
走,带你去玩5 天前
uview1.0 tabs组件放到u-popup中在微信小程序中滑块样式错乱
微信小程序·小程序·notepad++
arbboter6 天前
【AI插件开发】Notepad++ AI插件开发实践:支持多平台多模型
人工智能·notepad++·ai插件·c++插件开发·api认证体系·http客户端优化·模型动态适配
code袁6 天前
基于微信小程序的中医小妙招系统的设计与实现
微信小程序·小程序·notepad++·小程序开发·中医小妙招
arbboter8 天前
【AI插件开发】Notepad++ AI插件开发实践:实现对话窗口功能
人工智能·notepad++·notepad++插件开发·ai对话窗口·异步模型调用·实时输出渲染·动态模型切换
骐骥110 天前
Notepad++中将文档格式从Windows(CR LF)转换为Unix(LF)
windows·notepad++·unix·格式·换行符
玲子的猫12 天前
微信小程序实现table样式,自带合并行合并列
微信小程序·小程序·notepad++