HarmonyOS鸿蒙Next中base64 util.Base64Helper() 转码成pixmap时 报错

HarmonyOS鸿蒙Next中base64 util.Base64Helper() 转码成pixmap时 报错The input string contains unsupported characters

3 回复

const reg = new RegExp(“data:image/\w+;base64,”) const base64 = data.replace(reg, “”);

你可能把 Data URI Scheme 部分算进去了,先去掉 data:image/xxx;base64,

更多关于HarmonyOS鸿蒙Next中base64 util.Base64Helper() 转码成pixmap时 报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中使用Base64Helper转换时出现"unsupported characters"错误,通常由以下原因导致:

  1. Base64字符串格式不规范,可能包含非Base64字符(如空格、换行符)
  2. Base64字符串前缀不规范(如data:image/png;base64,)
  3. 字符串长度不符合Base64规范(长度须为4的倍数)

解决方法:检查并清理Base64字符串,确保是纯Base64编码数据,格式标准且完整。可使用在线Base64验证工具校验数据有效性。

这个错误通常是由于Base64字符串格式不正确导致的。在HarmonyOS Next中使用Base64Helper转码时,请注意以下几点:

  1. 确保输入的Base64字符串是有效的,不包含空格、换行符或其他非Base64字符
  2. Base64字符串应该以标准格式开头(如"data:image/png;base64,")
  3. 检查字符串是否被截断或不完整

建议先验证Base64字符串的有效性,可以使用在线工具或编写简单的验证代码。如果字符串来自网络请求,确保传输过程中没有被修改。

示例代码:

let base64Str = "data:image/png;base64,iVBORw0KG..."; // 确保这是完整的Base64字符串
let pixmap = util.Base64Helper.decodeToPixmap(base64Str);

如果问题仍然存在,请检查Base64字符串的来源和生成方式。

回到顶部