`
kanpiaoxue
  • 浏览: 1745032 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

javascript的base64操作

 
阅读更多

有的时候我们也会遇到在js里面进行base64的操作。

function b64EncodeUnicode(str) {
    // first we use encodeURIComponent to get percent-encoded UTF-8,
    // then we convert the percent encodings into raw bytes which
    // can be fed into btoa.
    return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g,
        function toSolidBytes(match, p1) {
            return String.fromCharCode('0x' + p1);
    }));
}


function b64DecodeUnicode(str) {
    // Going backwards: from bytestream, to percent-encoding, to original string.
    return decodeURIComponent(atob(str).split('').map(function(c) {
        return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
    }).join(''));
}

 测试

var hello = '/usr/local/test/hello.txt';
console.log('original:%s',hello);
var b64EncodeUnicodeStr = b64EncodeUnicode(hello);
console.log('b64EncodeUnicode:%s',b64EncodeUnicodeStr);
console.log('b64DecodeUnicode:%s',b64DecodeUnicode(b64EncodeUnicodeStr));

// output:
// original:/usr/local/test/hello.txt
// untitled.html:50 b64EncodeUnicode:L3Vzci9sb2NhbC90ZXN0L2hlbGxvLnR4dA==
// untitled.html:51 b64DecodeUnicode:/usr/local/test/hello.txt

 

分享到:
评论

相关推荐

    base64-js:纯JS中的Base64编码解码

    base64-js base64-js在纯JS中执行基本的base64编码/解码。 许多浏览器已经具有base64编码/解码功能,但是它用于文本数据,而不是通用二进制数据。 有时在浏览器中对二进制数据进行编码/解码很有用,这就是该模块...

    svg64:在Node和浏览器中将SVG转换为base64

    SVG64 随时随地将SVG转换为base64关于如果像我一样,在开发时使用了大量的SVG,则可能已经到了需要将SVG用作背景图像或嵌入到javascript文件中的地步。 唯一的方法是将SVG文件转换为base64字符串,然后在需要时使用...

    tinymce-uploadimage:TinyMCE 4插件以上传图像(base64)

    从技术上讲,图像会自动转换为base64代码。 没有图像上传到服务器。 图像数据直接放置在HTML图像标签的src内部。 要求 这是为版本4(TinyMCE是WYSIWYG HTML编辑器)编写的。 设置 您的TinyMCE init()方法应包含...

    JS实现的base64加密解密操作示例

    主要介绍了JS实现的base64加密解密操作,结合实例形式分析了基于javascript的base64加密与解密函数定义与使用相关操作技巧,需要的朋友可以参考下

    SquirrelMail 支持html并base64编码

    它内置纯PHP支持的IMAP和SMTP协议,所有页面都遵循 HTML 4.0标准(没有使用任何 JavaScript 代码),以便...我在本身基础上增强了对中文的支持,并将编辑器换成ueditor以支持html格式邮件,然后将信体进行base64编码。

    js压缩base64编码格式图片

    1、使用jquery操作 2、使用方法直接打开hello.html即可 3、打开控制台查看压缩结果 4、base64 图片转换在线网站 https://www.it399.com/image/base64,失效了可以自己百度一个

    JS加密插件CryptoJS实现的Base64加密示例

    前面一篇《JS加密插件CryptoJS实现的DES加密》介绍了CryptoJS插件进行DES加密操作的方法,这里再来介绍一下CryptoJS进行base64加密的方法: <!DOCTYPE html> <html> <head> <meta charset="UTF-8...

    100个直接可以拿来用的JavaScript实用功能代码片段(1-10)

    94、原生JavaScript实现base64解码 95、原生JavaScript实现utf8解码 96、原生JavaScript获取窗体可见范围的宽与高 97、原生JavaScript判断IE版本号(既简洁、又向后兼容!) 98、原生JavaScript获取浏览器版本号 99...

    JS实现图片转换成base64的各种应用场景实例分析

    主要介绍了JS实现图片转换成base64的各种应用场景,结合实例形式分析了javascript实现图片转换成base64的各种应用场景的相关操作技巧与使用注意事项,需要的朋友可以参考下

    javascript 基础 GIF套图

    JavaScript-function-base函数基础.gif Javascript-operational-character运算符.gif JavaScript-process-statement流程控制.gif JavaScript-regular-expressions正则表达式.gif JavaScript-string-function字符串...

    Helper Master

    Public class Base64DEncrypt Base64加解密帮助类 Public class BindDataControl 数据展示控件 绑定数据类 Public class CacheHelper 缓存帮助类 Public class ChineseCalHelper 中国日历 Public class ...

    JavaScript纯色二维码变成彩色二维码

    然后这个任务都落到我头上了,因为是图片处理,那主要思路就是靠canvas,canvas可以进行像素操作,所以我进行了一些尝试,也踩了一点小坑,具体记录如下。   前置知识 drawImage方法可以把图片画到canvas上,...

    compareJS:比较Base64格式的JSON

    Base64差异应用程序 REST应用程序可查找两组base64编码数据之间的差异。 作者:纳坦·法钦(Natan Facchin) 可用端点 手术 小路 描述 邮政 <主机> / v1 / diff //左 在给定ID的差异的左侧添加或更新数据 邮政 &...

    上传视频 获取视频第一帧 做为封面 完整代码+注释 前端js

    上传视频时获取视频第一帧作为封面 完整代码+注释 使用方法:直接将html文件在浏览器打开即可。 使用到的技术:原生Dom操作 + video标签及canplay监听 + cavas绘制 + base64转为Blob + Blob转为FormData

    原创-javascript服务器交互型可编辑表格和我的js常用库

    * 自定义javascript常用基础库 author zhang_jhai 创建时间 2010/04/10 最后修改时间 2010/05/03 * version 2.0 */ // Base库基础类 BaseJs = function() { // 判断浏览器类型 userAgent = navigator....

    base32h.js:Java中的Base32H编码器解码器

    它是其中一种精美的“ UMD”库,因此,如果您在Node中使用它,则可以按照var base32h = require('base32h')进行操作,或者如果您将其作为脚本文件包含在某个页面上,则可以这样做在浏览器中使用它( base32h其他...

    ReportX 2.7.0.0

    网络报表组件(OCX),可用于各种开发工具中进行二次开发,支持输入输出RPXE专用文件、XML文本、Excel文件、PDF文件 、Base64文本、HTML文件、TEXT文件,支持报表打印预览、打印设置、打印,支持各种行列操作,支持...

    Kohana-Assets:Kohana的资产经理。 包括CSS,Javascript和其他带有依赖项的资产

    /application/controllers/base.php abstract class Controller_Base extends Controller_Template {public function before(){// Call parentparent::before()// Setup default styles, javascript, and ...

    base64ImageStore:该项目包含有关如何在mogodb中存储base64映像的代码

    注意:这是单向操作。 eject ,您将无法返回! 如果您对构建工具和配置选择不满意,则可以随时eject 。 此命令将从您的项目中删除单个生成依赖项。 而是将所有配置文件和传递依赖项(Webpack,Babel,ESLint等)...

    http-post-test-master_HTTP_工具_master软件功能_Authcode_测试_

    可以在value中填写javascript脚本,用以生成提交的数据添加ucenter_authcode、md5支持ver 0.3添加检测POST/GET返回内容格式,如为json格式就自动格式化显示添加打开,保存文件时,自动将最后一次操作的路径为默认...

Global site tag (gtag.js) - Google Analytics