可以使用哪些编码Node.js

时间:2013-11-26 18:13:05

标签: node.js encoding

我正在试图找出node.js中可用的编码。

文档(http://nodejs.org/api/buffer.html#buffer_new_buffer_str_encoding)说:

Allocates a new buffer containing the given str. encoding defaults to 'utf8'.

但没有指定可用编码列表。也许我错过了它。

我正在编写脚本,它应该能够以各种编码输出。到目前为止,我只知道utf8正如doc所说:)

Thx,Jaro。

2 个答案:

答案 0 :(得分:5)

From the same page

  

在Buffers和JavaScript字符串对象之间进行转换需要一个   显式编码方法。以下是不同的字符串编码。

     
      
  • 'ascii' - 仅适用于7位ASCII数据。这种编码方法非常快,如果设置,将剥离高位。

  •   
  • 请注意,从字符串转换为缓冲区时,此编码会将空字符('\ 0'或'\ u0000')转换为0x20(字符代码)   一个空间)。如果要将空字符转换为0x00,则为   应该使用'utf8'。

  •   
  • 'utf8' - 多字节编码的Unicode字符。许多网页和其他文档格式使用UTF-8。

  •   
  • 'utf16le' - 2或4个字节,小端编码的Unicode字符。支持代理对(U + 10000到U + 10FFFF)。

  •   
  • 'ucs2' - 'utf16le'的别名。

  •   
  • 'base64' - Base64字符串编码。

  •   
  • 'binary' - 一种通过仅使用每个字符的前8位将原始二进制数据编码为字符串的方法。这种编码方法是   不推荐使用,应该避免使用Buffer对象   可能。在将来的Node版本中将删除此编码。

  •   
  • 'hex' - 将每个字节编码为两个十六进制字符。

  •   

答案 1 :(得分:0)

为了阐明最新的nodejs编码说明。我从nodejs文档粘贴。 v4 +不会贬低二进制文件

  

Node.js当前支持的字符编码包括:

     

'ascii'-仅适用于7位ASCII数据。这种编码速度很快,如果已设置,则会去除高位。

     

'utf8'-多字节编码的Unicode字符。许多网页和其他文档格式都使用UTF-8。

     

'utf16le'-2或4个字节的低端低位编码Unicode字符。支持代理对(U + 10000到U + 10FFFF)。

     

'ucs2'-'utf16le'的别名。

     

'base64'-Base64编码。从字符串创建缓冲区时,此编码还将正确接受RFC 4648第5节中指定的“ URL和文件名安全字母”。

     

'latin1'-一种将缓冲区编码为一个字节编码的字符串的方式(由RFC 1345,第63页中的IANA定义为Latin-1补充块和C0 / C1控制代码)。 / p>      

'binary'-'latin1'的别名。

     

'hex'-将每个字节编码为两个十六进制字符。