天天看点

Node.js Base64 Encoding和Decoding

如何在Node.js中encode一个字符串呢?是否也像在PHP中使用base64_encode()一样简单?

  在Node.js中有许多encoding字符串的方法,而不用像在JavaScript中那样定义各种不同的全局函数。下面是如何在Node.js中将一个普通字符串encode成Base64格式的代码:

  下面是decode base64字符串的代码:

  如果你想了解上面代码的实现细节,请接着往下看。

  构造函数new Buffer()的第一个参数可以是一个Number,Array或String。第二个参数为可选参数,用来表示encode的类型,可以是AscII, Utf8, Ucs2, Base64, Binary, 或Hex。默认值是Utf8。

  通过第二个参数,告诉程序给定的字符串是以哪种特定格式被encode的。注意上面decode的例子中我们传入的参数。

  我们通过toString()方法将encode的字符串转换成其它格式,默认为Utf8。指定不同的参数,可以转换成我们想要的格式。例如我们可以将Base64之后的字符串转换成Hex格式:

  然后通过下面的方式将其decode成人类能看懂的字符串:

Node.js Base64 Encoding和Decoding
Node.js Base64 Encoding和Decoding

PS:Utf8是AscII的超集。如果你只能使用标准英文键盘上的字符,则可以使用AscII编码;但是如果你正在处理其它“外来”字符或符号,例如⌘, こんにちは, Üdvözöljük等,请使用Utf。

本文转自Jaxu博客园博客,原文链接:http://www.cnblogs.com/jaxu/p/6087109.html,如需转载请自行联系原作者