Security News
New Python Packaging Proposal Aims to Solve Phantom Dependency Problem with SBOMs
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
windows-1256
Advanced tools
windows-1256 is a robust JavaScript implementation of the windows-1256 character encoding as defined by the Encoding Standard.
This encoding is known under the following names: cp1256, windows-1256, and x-cp1256.
Via npm:
npm install windows-1256
In a browser or in Node.js:
import {encode, decode, labels} from 'windows-1256';
// or…
import * as windows1256 from 'windows-1256';
windows1256.labels
An array of strings, each representing a label for this encoding.
windows1256.encode(input, options)
This function takes a plain text string (the input
parameter) and encodes it according to windows-1256. The return value is an environment-agnostic Uint16Array
of which each element represents an octet as per windows-1256.
const encodedData = windows1256.encode(text);
The optional options
object and its mode
property can be used to set the error mode. The two available error modes are 'fatal'
(the default) or 'replacement'
. (Note: This differs from the spec, which recognizes “fatal” and HTML” modes for encoders. The reason behind this difference is that the spec algorithm is aimed at producing HTML, whereas this library encodes into an environment-agnostic Uint16Array
of bytes.)
const encodedData = windows1256.encode(text, {
mode: 'replacement'
});
// If `text` contains a symbol that cannot be represented in windows-1256,
// instead of throwing an error, it becomes 0xFFFD.
windows1256.decode(input, options)
This function decodes input
according to windows-1256. The input
parameter can either be a Uint16Array
of which each element represents an octet as per windows-1256, or a ‘byte string’ (i.e. a string of which each item represents an octet as per windows-1256).
const text = windows1256.decode(encodedData);
The optional options
object and its mode
property can be used to set the error mode. For decoding, the error mode can be 'replacement'
(the default) or 'fatal'
.
const text = windows1256.decode(encodedData, {
mode: 'fatal'
});
// If `encodedData` contains an invalid byte for the windows-1256 encoding,
// instead of replacing it with U+FFFD in the output, an error is thrown.
Similar modules for other single-byte legacy encodings are available.
Mathias Bynens |
windows-1256 is available under the MIT license.
FAQs
A robust windows-1256 encoder/decoder written in JavaScript.
The npm package windows-1256 receives a total of 3,064 weekly downloads. As such, windows-1256 popularity was classified as popular.
We found that windows-1256 demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
Security News
Socket CEO Feross Aboukhadijeh discusses open source security challenges, including zero-day attacks and supply chain risks, on the Cyber Security Council podcast.
Security News
Research
Socket researchers uncover how threat actors weaponize Out-of-Band Application Security Testing (OAST) techniques across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.