/**
* utf16和utf8转换对照表
* u 00000000 – u 0000007f 0xxxxxxx
* u 00000080 – u 000007ff 110xxxxx 10xxxxxx
* u 00000800 – u 0000ffff 1110xxxx 10xxxxxx 10xxxxxx
* u 00010000 – u 001fffff 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
* u 00200000 – u 03ffffff 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
* u 04000000 – u 7fffffff 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
*/
//外部js引用时这样写:import {base64} from '/xxx/base64';//路径需要根据实际路径去写
export let base64 = {
// 转码表
tables : [
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h',
'i', 'j', 'k', 'l', 'm', 'n', 'o' ,'p',
'q', 'r', 's', 't', 'u', 'v', 'w', 'x',
'y', 'z', 'a', 'b', 'c', 'd', 'e', 'f',
'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
'w', 'x', 'y', 'z', '0', '1', '2', '3',
'4', '5', '6', '7', '8', '9', ' ', '/'
],
utf16toutf8 : function (str) {
let results = [], len = str.length;
for (let i = 0; i < len; i ) {
let code = str.charcodeat(i);
if (code > 0x0000 && code <= 0x007f) {
/* 一字节,不考虑0x0000,因为是空字节
u 00000000 – u 0000007f 0xxxxxxx
*/
results.push(str.charat(i));
} else if (code >= 0x0080 && code <= 0x07ff) {
/* 二字节
u 00000080 – u 000007ff 110xxxxx 10xxxxxx
110xxxxx
*/
import {base64} from '/util/base64';
onready(){
let msg = 'hello, base64!夏天是不是到了?我想在汗雨中等你~~_~!';
let encodestr = base64.encode(msg);
console.log(encodestr);
let decodestr = base64.decode(encodestr);
my.alert({
content:decodestr,
success: (res) => {
},
});
console.log(decodestr,decodestr == msg);
}