# base64-url-safe
**Repository Path**: aecworks-open-source/base64-url-safe
## Basic Information
- **Project Name**: base64-url-safe
- **Description**: No description available
- **Primary Language**: TypeScript
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2018-07-30
- **Last Updated**: 2025-05-07
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# base64-url-safe
> base64-url-safe
[TOC]
### 1.组件描述
本组件为base64-url-safe组件,一个使用 BASE64 标准对字符串进行编码和解码的实用组件,它支持 urlsafe 和 no-padding 选项。
### 2.前置条件
本组件依赖 windows 上挂载的 EventBus 对象进行通讯,EventBus 对象是北京电力及标准化平台已挂载好的对象,其他项目使用前请检查。
### 3.安装组件
```bash
npm install --save @aecworks/base64-url-safe
```
### 4.参数及方法
| 参数 | 类型 | 说明 | 默认 |
| :--------- | ------ | ---------------- | ------------------------------------------------------------ |
| keyStr | string | 加解密关键字符串 | ABCDEFGHIJKLMNOPQRST
UVWXYZ
abcdefghijklm
nopqrstuvwxyz
0123456789+/= |
| encode | | 编码 | |
| decode | | 解码 | |
| unescape | | url指定编码 | |
| escape | | url指定解码 | |
| utf8Encode | | utf8编码 | |
| utf8Decode | | utf8解码 | |
| | | | |
### 5.使用方法
在需要用到base64-url-safe的地方引入,即可进行后续使用。
```tsx
import { Base64UrlSafe } from '@aecworks/base64-url-safe';
```
encode编码使用
```tsx
const origin = 'urn:bimbox.file:6iNy2mA8nI/6iPzuBtMvY?version=1';
const base64Encoded = Base64UrlSafe.encode(origin, false); expect(base64Encoded).toBe('dXJuOmJpbWJveC5maWxlOjZpTnkybUE4bkkvNmlQenVCdE12WT92ZXJzaW9uPTE=');
const base64UrlSafeEncoded = Base64UrlSafe.encode(origin, true); expect(base64UrlSafeEncoded).toBe('dXJuOmJpbWJveC5maWxlOjZpTnkybUE4bkkvNmlQenVCdE12WT92ZXJzaW9uPTE');
```
decode解码使用
```tsx
const origin = 'urn:bimbox.file:6iNy2mA8nI/6iPzuBtMvY?version=1';
const base64Encoded = Base64UrlSafe.encode(origin, false); expect(base64Encoded).toBe('dXJuOmJpbWJveC5maWxlOjZpTnkybUE4bkkvNmlQenVCdE12WT92ZXJzaW9uPTE=');
const base64UrlSafeEncoded = Base64UrlSafe.encode(origin, true); expect(base64UrlSafeEncoded).toBe('dXJuOmJpbWJveC5maWxlOjZpTnkybUE4bkkvNmlQenVCdE12WT92ZXJzaW9uPTE');
```
### 6.打包方式
打包
```json
"build": "tsc"
```
切换为私库
```bash
npm config set registry http://101.40.70.165:9010/
```
发布
```bash
npm publish
```
### 7.参考用例