当前位置:首页 » 《随便一记》 » 正文

水文-ts中对中文进行base64编码

29 人参与  2022年11月14日 11:18  分类 : 《随便一记》  评论

点击全文阅读


文章目录

前言ts环境准备ts中对utf8字符串进行base64编码

前言

完整代码见仓库。


ts环境准备

参考:如何建立一个新的 TypeScript 项目

# npm install -g ts-nodenpm install -g typescripttsc.cmd --init

我之前安装过nodejs环境:fetch的简单使用。所以不再需要安装nodejs。

我们使用npm安装typescript。关于npm的使用,可以参考npm 模块安装机制简介。至于typescript是一种用于应用程序级 JavaScript 的语言,可以将ts编写的程序编译成js。安装typescript的时候,会包含tsc。

注:上面参考链接中,使用了npx,它可以调用项目内部模块,避免全局安装,可以参考:npx 使用教程。

接着,我们使用tsc.cmd --init,创建一个tsconfig.json。tsconfig.json文件中指定了用来编译这个项目的根文件和编译选项。


ts中对utf8字符串进行base64编码

参考:Using Javascript’s atob to decode base64 doesn’t properly decode utf-8 strings

使用js-base64对utf8字符串进行base64编码。

npm install --save js-base64# 安装package.json中的依赖# npm install# npm uninstall typescript

我用demo测了下,应该能用。

import { Base64 } from 'js-base64'console.debug("hello world")const str = "中文"// Base64console.debug(Base64.encode(str))console.debug(Base64.decode(Base64.encode(str)))

先编译,tsc.cmd命令按照tscconfig.json中的配置进行编译,生成js。node.exe .\dist\index.js,使用node命令运行js程序。输出如下。

hello world5Lit5paH中文

另外,ts中不能使用下面的方式进行编码转换。会编译报错ReferenceError: window is not defined。原因是nodejs中不能使用window对象,可参考在node.js里面可以使用window对象的方法吗

// window.btoaconsole.debug(window.btoa(str))console.debug(window.atob(window.btoa(str)))``

点击全文阅读


本文链接:http://m.zhangshiyu.com/post/48309.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1