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)
    * */
    

      

  • 相关阅读:
    codeforces 501 C,D,E
    bzoj 3172 单词 ac自动机|后缀数组
    HDU2459 后缀数组+RMQ
    POJ 3294 二分找超过一半字符串中存在的子串
    头文件
    python爬取文本
    python爬取图片
    NEW
    dsu on tree 练习题
    lzz分块+莫队
  • 原文地址:https://www.cnblogs.com/jiebba/p/12023652.html
Copyright © 2011-2022 走看看