【OpenHarmony】语音编码器和解码器:commons-codec

89 阅读2分钟

简介

  • commons-codec是一个OpenHarmony系统下使用各种编解码的示例,包含各种格式的简单编码器和解码器, 例如 Base64 Base32 等除了这些广泛使用的编码器和解码器之外,编解码器包还维护了一组语音编码实用程序。
  • 目前项目可支持的功能有如下
二进制编码器摘要编码器语言编码器url编码
Base64 编解码SHA256CaverPhoneurlencode
Base32 编解码SHA224Soundex
二进制SHA1Metaphone
十六进制MD5
MD2

下载安装

编码功能名称URL地址ohpm安装
caverphonegithub.com/tcort/caver…ohpm install --save caverphone
base32github.com/emn178/hi-b…ohpm install hi-base32
crypto-jsgitee.com/openharmony…ohpm install crypto-js
MD2github.com/emn178/js-m…ohpm install js-md2
MD5github.com/emn178/js-m…ohpm install js-md5
SHA1github.com/emn178/js-s…ohpm install js-sha1
SHA256github.com/emn178/js-s…ohpm install js-sha256
metaphonegithub.com/words/metap…ohpm install metaphone
soundexgithub.com/words/sound…ohpm install soundex-code

使用说明

导入CryptoJS

import CryptoJS from '@ohos/crypto-js'

CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(('God is Perspective')))
CryptoJS.enc.Base64.parse('UWkgTGkgWGlhbmc=').toString(CryptoJS.enc.Utf8)

导入Base32

import jsBase32 from 'hi-base32'

jsBase32.encode('God is Perspective')
jsBase32.decode('KFUSATDJEBMGSYLOM4======')

二进制编码

export function strToArr(str) {
    var rs = [];
    ([].slice.call(str)).forEach(function (char) {
        rs.push(char.charCodeAt(0).toString(2));
    });

    return rs;
}

strToArr('God is Perspective')

十六进制编码

export function strToHexCharCode(str) {
    if (str === "")
    return "";
    var hexCharCode = [];
    hexCharCode.push("0x");
    for (var i = 0; i < str.length; i++) {
        hexCharCode.push((str.charCodeAt(i)).toString(16));
    }
    return hexCharCode.join("");
}

strToHexCharCode('God is Perspective')  

DD一下:欢迎大家关注工粽号<程序猿百晓生>,可以了解到以下知识点。

`欢迎大家关注工粽号<程序猿百晓生>,可以了解到以下知识点。`
1.OpenHarmony开发基础
2.OpenHarmony北向开发环境搭建
3.鸿蒙南向开发环境的搭建
4.鸿蒙生态应用开发白皮书V2.0 & V3.0
5.鸿蒙开发面试真题(含参考答案) 
6.TypeScript入门学习手册
7.OpenHarmony 经典面试题(含参考答案)
8.OpenHarmony设备开发入门【最新版】
9.沉浸式剖析OpenHarmony源代码
10.系统定制指南
11.【OpenHarmony】Uboot 驱动加载流程
12.OpenHarmony构建系统--GN与子系统、部件、模块详解
13.ohos开机init启动流程
14.鸿蒙版性能优化指南
.......

SHA256编码

import jsSha256 from 'js-sha256'

 sha256('God is Perspective')
 
 sha256.hex('God is Perspective')

 sha224('God is Perspective')
 
 sha224.hex('God is Perspective')

SHA1编码

import jsSha1 from 'js-sha1'


 jsSha1('God is Perspective')
 
 jsSha1.hex('God is Perspective') 

SHA1编码

import jsMd5 from 'js-md5'

MD5编码

 jsMd5('God is Perspective') 

MD2编码

import jsMd2 from 'js-md2'

jsMd2('God is Perspective') 

语言编码

import jsCaverPhone from 'caverphone'
import {soundex} from 'soundex-code'
import {metaphone} from 'metaphone'

jsCaverPhone('word') 
soundex('phonetics') 
metaphone('michael')

Url编码

export function urlEncode(str) {

    return encodeURIComponent(str);
}

 export function urlDecode(str) {

    return decodeURIComponent(str);
}

urlEncode('word is word')

urlDecode('word%20is%20word')