String encoding utilities extracted from early versions of https://github.com/dchest/tweetnacl-js
Encoding/decoding functions in this package are correct, however their performance and wide compatibility with uncommon runtimes is not something that is considered important compared to the simplicity and size of implementation. For example, they don't work under React Native.
Instead of this package, I strongly recommend using my StableLib packages:
-
@stablelib/utf8 for UTF-8 encoding/decoding (note that the names of operations are reversed compared to this package):
npm install @stablelib/utf8
Alternatively, in a modern environment, use TextEncoder and TextDecoder.
-
@stablelib/base64 for constant-time Base64 encoding/decoding:
npm install @stablelib/base64
Use a package manager:
$ bower install tweetnacl-util
NPM:
$ npm install tweetnacl-util
To make keep backward compatibility with code that used nacl.util
previously
included with TweetNaCl.js, just include it as usual:
<script src="nacl.min.js"></script>
<script src="nacl-util.min.js"></script>
<script>
// nacl.util functions are now available, e.g.:
// nacl.util.decodeUTF8
</script>
When using CommonJS:
var nacl = require('tweetnacl');
nacl.util = require('tweetnacl-util');
Decodes string and returns Uint8Array
of bytes.
Encodes Uint8Array
or Array
of bytes into string.
Decodes Base-64 encoded string and returns Uint8Array
of bytes.
Encodes Uint8Array
or Array
of bytes into string using Base-64 encoding.