zoukankan      html  css  js  c++  java
  • 前端中常见字节编码(base64、hex、utf8)及其转换

    /*
    * 字节编码转换
    * 首先都需要转为二级制数组 (ArrayBuffer)
    * 然后才能转换对应的编码字符
    * 前端常见编码:
    * base64:就是将二进制转为字符串,将每6个字节转为一个特定的字符串(A-Za-z0-9/+=)。
    * hex:将二进制每8个字节转为对应的2个十六进制的字符串
    * */
    
    // utf8 转为 base64/hex
    let output = Buffer.from('utf8的字符串', 'utf8')
    console.log(output.toString('base64'))
    console.log(output.toString('hex'))
    
    
    // base64/hex 转为 utf8
    output = Buffer.from('75746638e79a84e5ad97e7aca6e4b8b2', 'hex')
    console.log(output.toString('utf8'))
    output = Buffer.from('dXRmOOeahOWtl+espuS4sg==', 'base64')
    console.log(output.toString('utf8'))
    
    
    // 读取文件传入编码
    input = fs.readFileSync('test.txt')  // 默认是二进制 Buffer
    console.log(input)
    let input = fs.readFileSync('test.txt', 'utf8')
    console.log(input)
    input = fs.readFileSync('test.txt', 'base64')
    console.log(input)
    input = fs.readFileSync('test.txt', 'hex')
    console.log(input)
    

      

    /*
    * 加密需注意
    * 加密数据类型:Buffer 或者 字符串(hex/base64/utf8)
    * 参数传入参数:vi - 填充
    * 参数传入参数:mode - 模式
    * 参数传入参数:padding - 填充类型
    * 加密输出类型:Buffer 或者 字符串(hex/base64/utf8)
    * */
    

      

  • 相关阅读:
    [原]将工程由VC6迁移到VS2005
    [原]DirectDraw视频播放要点
    [原]代码优化学习笔记
    [原]Linux文件交换
    [原]计划
    [原]写在2006年的最后一天
    [原]技术发展规划
    FindBugs的安装和使用
    VirtualBox常用命令
    eclipse中统计代码行数
  • 原文地址:https://www.cnblogs.com/jiebba/p/12023652.html
Copyright © 2011-2022 走看看