中文字符串的编解码,有人知道吗?

中文字符串的编解码

HarmonyOS
2024-05-23 22:08:10
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
roseprodigal

方式一:

let decimal =16; 
let str = "万剑归宗 1234 abcd"; 
console.log('编码前:' + str); 
  
function strToDecimal(str: string, decimal: number): string { 
  return Array.from(str).map(char => char.charCodeAt(0).toString(decimal)).join(' ') 
} 
  
let total2str =  strToDecimal(str, decimal); 
console.log("编码后:" + total2str) 
  
function decimalToStr(str: string, decimal: number): string { 
  return str.split(' ').map(unit => String.fromCharCode(parseInt(unit, decimal))).join('') 
} 
  
console.log("解码后:" + decimalToStr(total2str,decimal))

方式二:

let str = "万剑归宗 1234 abcd"; 
console.log('编码前:' + str); 
  
let output = new util.TextEncoder("utf-8").encodeInto(str) 
console.log("编码后:" + output.toString()) 
  
let decoder = util.TextDecoder.create("utf-8"); 
let decodeStr:string = decoder.decodeWithStream(new Uint8Array(output)) 
console.log("解码后:" + decodeStr) 
  
function stringEncode(str: string): string { 
  if (str.length <=0) { 
    return '' 
  } 
  return new util.TextEncoder("utf-8").encodeInto(str).toString() 
} 
  
function stringDecode(str: string): string { 
  if (str.length <=0) { 
    return '' 
  } 
  
  let arry:Array<number> = [] 
  str.split(',').map((char)=>{ arry.push(parseInt(char))}) 
  return util.TextDecoder.create("utf-8").decodeWithStream(new Uint8Array(arry)) 
}

实现效果

将字符串进行编解码。在输入框中输入字符,点击编码按钮则在输出框中输出编码后的字符串。

分享
微博
QQ
微信
回复
2024-05-24 21:57:58
相关问题
如何压缩字符串有人知道吗
444浏览 • 1回复 待解决
如何实现字符串编解码
954浏览 • 1回复 待解决
ArkTS如何实现字符串编解码
1198浏览 • 1回复 待解决
AI码生成能力中文字符乱码
8269浏览 • 1回复 待解决
mysql替换字符串问题有知道
2005浏览 • 1回复 待解决
如何获取Text组件中文字宽度
707浏览 • 1回复 待解决
webview组件demo ,有人知道吗
444浏览 • 1回复 待解决
taskpool 使用问题,有人知道吗
424浏览 • 1回复 待解决
有人知道吗
54浏览 • 1回复 待解决
如何跳出ForEach,有人知道吗
701浏览 • 1回复 待解决
如何保存faultLogger ,有人知道吗
177浏览 • 1回复 待解决
如何发送短信,有人知道吗?
673浏览 • 1回复 待解决
如何实现振动,有人知道吗
713浏览 • 2回复 待解决
clientid相关问题,有人知道吗
591浏览 • 1回复 待解决
如何生成UUID字符串
822浏览 • 1回复 待解决
读取文件流方式,有人知道吗
572浏览 • 1回复 待解决
如何使用快速修复,有人知道吗
255浏览 • 1回复 待解决