Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xjbieke
axios
提交
3138600c
A
axios
项目概览
xjbieke
/
axios
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
axios
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
3138600c
编写于
12月 10, 2015
作者:
I
Idan Gazit
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Adding btoa polyfill
上级
0d8b5b6d
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
34 addition
and
0 deletion
+34
-0
lib/helpers/btoa.js
lib/helpers/btoa.js
+34
-0
未找到文件。
lib/helpers/btoa.js
0 → 100644
浏览文件 @
3138600c
'
use strict
'
;
// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js
var
chars
=
'
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
'
;
function
InvalidCharacterError
(
message
)
{
this
.
message
=
message
;
}
InvalidCharacterError
.
prototype
=
new
Error
;
InvalidCharacterError
.
prototype
.
name
=
'
InvalidCharacterError
'
;
function
btoa
(
input
)
{
var
str
=
String
(
input
);
for
(
// initialize result and counter
var
block
,
charCode
,
idx
=
0
,
map
=
chars
,
output
=
''
;
// if the next str index does not exist:
// change the mapping table to "="
// check if d has no fractional digits
str
.
charAt
(
idx
|
0
)
||
(
map
=
'
=
'
,
idx
%
1
);
// "8 - idx % 1 * 8" generates the sequence 2, 4, 6, 8
output
+=
map
.
charAt
(
63
&
block
>>
8
-
idx
%
1
*
8
)
)
{
charCode
=
str
.
charCodeAt
(
idx
+=
3
/
4
);
if
(
charCode
>
0xFF
)
{
throw
new
InvalidCharacterError
(
'
\'
btoa
\'
failed: The string to be encoded contains characters outside of the Latin1 range.
'
);
}
block
=
block
<<
8
|
charCode
;
}
return
output
;
};
module
.
exports
=
btoa
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录