中文字符串的编解码,有人知道吗?-鸿蒙开发者社区-51CTO.COM

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

中文字符串的编解码

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
相关问题
如何压缩字符串有人知道吗
737浏览 • 1回复 待解决
如何进行编解码操作,有人知道吗
285浏览 • 1回复 待解决
如何实现字符串编解码
2564浏览 • 1回复 待解决
如何格式化字符串有人知道吗
360浏览 • 1回复 待解决
ArkTS如何实现字符串编解码
2660浏览 • 1回复 待解决
AI码生成能力中文字符乱码
9519浏览 • 1回复 待解决
过长文字如何滚动显示,有人知道吗?
1945浏览 • 1回复 待解决
如何获取Text组件中文字宽度
2076浏览 • 1回复 待解决
mysql替换字符串问题有知道
3271浏览 • 1回复 待解决
clientid相关问题,有人知道吗
1740浏览 • 1回复 待解决
如何获取windowStage,有人知道吗
383浏览 • 1回复 待解决
如何实现振动,有人知道吗
1125浏览 • 2回复 待解决
如何保存faultLogger ,有人知道吗
564浏览 • 1回复 待解决
taskpool 使用问题,有人知道吗
851浏览 • 1回复 待解决
如何发送短信,有人知道吗?
1855浏览 • 1回复 待解决
webview组件demo ,有人知道吗
759浏览 • 1回复 待解决
如何跳出ForEach,有人知道吗
1977浏览 • 1回复 待解决
有人知道吗
133浏览 • 1回复 待解决
有人知道吗
562浏览 • 1回复 待解决
HarmonyOS 十六进制字符转明文字符串
45浏览 • 1回复 待解决
读取文件流方式,有人知道吗
1802浏览 • 1回复 待解决
应用动态导入场景,有人知道吗
325浏览 • 1回复 待解决