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

中文字符串的编解码

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
相关问题
如何压缩字符串有人知道吗
796浏览 • 1回复 待解决
如何进行编解码操作,有人知道吗
354浏览 • 1回复 待解决
如何格式化字符串有人知道吗
445浏览 • 1回复 待解决
如何实现字符串编解码
2667浏览 • 1回复 待解决
ArkTS如何实现字符串编解码
2815浏览 • 1回复 待解决
AI码生成能力中文字符乱码
9612浏览 • 1回复 待解决
过长文字如何滚动显示,有人知道吗?
2017浏览 • 1回复 待解决
mysql替换字符串问题有知道
3325浏览 • 1回复 待解决
如何获取Text组件中文字宽度
2155浏览 • 1回复 待解决
taskpool 使用问题,有人知道吗
899浏览 • 1回复 待解决
webview组件demo ,有人知道吗
806浏览 • 1回复 待解决
如何保存faultLogger ,有人知道吗
636浏览 • 1回复 待解决
如何跳出ForEach,有人知道吗
2078浏览 • 1回复 待解决
如何发送短信,有人知道吗?
1930浏览 • 1回复 待解决
有人知道吗
670浏览 • 1回复 待解决
有人知道吗
244浏览 • 1回复 待解决
clientid相关问题,有人知道吗
1852浏览 • 1回复 待解决
如何实现振动,有人知道吗
1178浏览 • 2回复 待解决
如何获取windowStage,有人知道吗
476浏览 • 1回复 待解决
导航栏如何适配,有人知道吗?
1828浏览 • 0回复 待解决
有人知道吗
344浏览 • 0回复 待解决
如何使用快速修复,有人知道吗
690浏览 • 1回复 待解决