Skip to content

Fast polyfill for TextEncoder and TextDecoder, only supports UTF-8

License

Notifications You must be signed in to change notification settings

tensor-hq/fast-text-encoding

This branch is 2 commits ahead of samthor/fast-text-encoding:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a08ec1a · Apr 28, 2024

History

72 Commits
Jun 20, 2022
Apr 28, 2020
Aug 30, 2022
Apr 28, 2024
Aug 20, 2023
Aug 30, 2022
Aug 26, 2022
Sep 1, 2017
Aug 30, 2022
Aug 30, 2022
Aug 30, 2022
Aug 30, 2022
Aug 30, 2022
Aug 30, 2022
Aug 30, 2022
Aug 20, 2023
Aug 20, 2023
Apr 28, 2024
Aug 29, 2022

Repository files navigation

Test

This is a fast polyfill for TextEncoder and TextDecoder, which let you encode and decode JavaScript strings into UTF-8 bytes.

It is fast partially as it does not support^ any encodings aside UTF-8 (and note that natively, only TextDecoder supports alternative encodings anyway). See some benchmarks.

^If this polyfill used on Node v5.1 through v11 (when Text... was introduced), then this simply wraps Buffer, which supports many encodings and is native code.

Usage

Install as "fast-text-encoding" via your favourite package manager.

You only need this polyfill if you're supporting older browsers like IE, legacy Edge, ancient Chrome and Firefox, or Node before v11.

Browser

Include the minified code inside a <script> tag or as an ES6 Module for its side effects. It will create TextEncoder and TextDecoder if the symbols are missing on window or global.

<script src="node_modules/fast-text-encoding/text.min.js"></script>
<script type="module">
  import './node_modules/fast-text-encoding/text.min.js';
  import 'fast-text-encoding';  // or perhaps this
  // confidently do something with TextEncoder or TextDecoder \o/
</script>

⚠️ You'll probably want to depend on "text.min.js", as it's compiled to ES5 for older environments.

Not Including Polyfill

If your project doesn't need the polyfill, but is included as a transitive dependency, we publish an empty version that you could pin NPM or similar's version algorithm to. Use "fast-text-encoding@empty".

About

Fast polyfill for TextEncoder and TextDecoder, only supports UTF-8

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 97.2%
  • HTML 2.2%
  • Shell 0.6%