HarmonyOS鸿蒙Next中base64编码相关
HarmonyOS鸿蒙Next中base64编码相关
使用util.Base64Helper().encodeToStringSync进行编码或者使用decodeSync解码的过程中,无论入参是什么,编码/解码结果都是""
临时使用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类提供了base64Encode和base64Decode方法来进行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中,base64Encode和base64Decode方法默认使用标准的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应用开发。

