asn1-ts
Version:
ASN.1 encoding and decoding, including BER, CER, and DER.
13 lines (12 loc) • 560 B
JavaScript
import isVisibleCharacter from "../../../validators/isVisibleCharacter.mjs";
import convertBytesToText from "../../../utils/convertBytesToText.mjs";
import { ASN1CharactersError } from "../../../errors.mjs";
export default function decodePrintableString(value) {
for (const char of value) {
if (!isVisibleCharacter(char)) {
throw new ASN1CharactersError("VisibleString can only contain characters between 0x20 and 0x7E. "
+ `Encountered character code ${char}.`);
}
}
return convertBytesToText(value);
}