HarmonyOS鸿蒙Next中base64编码相关

HarmonyOS鸿蒙Next中base64编码相关

使用util.Base64Helper().encodeToStringSync进行编码或者使用decodeSync解码的过程中,无论入参是什么,编码/解码结果都是""

3 回复

临时使用buffer解决

import { buffer } from '@kit.ArkTS'
let DEFAULT_ENCODING: buffer.BufferEncoding = 'utf-8'
export function stringToUint8Array(input: string, inputEncoding: buffer.BufferEncoding = DEFAULT_ENCODING): Uint8Array {
  return new Uint8Array(buffer.from(input, inputEncoding).buffer)
}
export function base642Uint8Array(data: string) {
  return stringToUint8Array(data, 'base64')
}
export function uint8ArrayToString(input: Uint8Array, outEncoding: buffer.BufferEncoding = DEFAULT_ENCODING) {
  return buffer.from(input).toString(outEncoding)
}
export function base64Encode(input: string | Uint8Array,
  inputEncoding: buffer.BufferEncoding = DEFAULT_ENCODING): string {
  if (typeof input === "string") {
    return buffer.from(input, inputEncoding).toString('base64')
  } else {
    return buffer.from(input).toString('base64')
  }
}
export function base64Decode(data: string, outEncoding: buffer.BufferEncoding = DEFAULT_ENCODING) {
  return buffer.from(data, 'base64').toString(outEncoding)
}

更多关于HarmonyOS鸿蒙Next中base64编码相关的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,Base64编码是一种常见的编码方式,用于将二进制数据转换为ASCII字符串格式。鸿蒙系统提供了相关的API来实现Base64编码和解码操作。

鸿蒙Next中,Buffer类提供了base64Encodebase64Decode方法来进行Base64编码和解码。base64Encode方法将二进制数据编码为Base64字符串,而base64Decode方法将Base64字符串解码为原始的二进制数据。

示例代码如下:

import buffer from '@ohos.buffer';

// 原始数据
const data = buffer.from('Hello, HarmonyOS');

// Base64编码
const encoded = data.base64Encode();
console.log('Encoded:', encoded);

// Base64解码
const decoded = buffer.from(encoded, 'base64').toString();
console.log('Decoded:', decoded);

在鸿蒙Next中,base64Encodebase64Decode方法默认使用标准的Base64字符集(A-Z, a-z, 0-9, ‘+’, ‘/’),并且会自动处理填充字符’=’。如果需要使用URL安全的Base64编码,可以使用base64Encode方法的urlSafe参数。

鸿蒙Next的Base64编码相关API设计简洁,易于使用,开发者可以根据需求选择合适的编码方式。

在HarmonyOS(鸿蒙)Next中,Base64编码可以通过util模块中的Base64类来实现。以下是一个简单的示例,展示如何对字符串进行Base64编码和解码:

import util from '@ohos.util';

// Base64 编码
let base64Encoder = new util.Base64();
let originalText = "Hello, HarmonyOS!";
let encodedText = base64Encoder.encodeToString(new util.TextEncoder().encode(originalText));
console.log("Encoded Text: " + encodedText);

// Base64 解码
let decodedBytes = base64Encoder.decode(encodedText);
let decodedText = new util.TextDecoder().decode(decodedBytes);
console.log("Decoded Text: " + decodedText);

此代码使用util模块中的Base64类进行编码和解码操作,适用于HarmonyOS应用开发。

回到顶部