Packages

Pure Elixir standards-based encoding extensions for Iconvex

Current section

Files

Jump to
Raw

README.md

# Iconvex Standards
`iconvex_standards` adds the standards, registry, and archival codecs that do
not belong in Iconvex Core.
Pure Elixir code implements the package.
It uses no NIF, port, or system `iconv` process.
The OTP application installs 248 collision-reviewed byte codecs and 205 table providers.
It uses one transaction.
Stopping the application removes that extension.
A failed or conflicting installation rolls back all changes.
## Install
```elixir
def deps do
[
{:iconvex, "~> 0.1"},
{:iconvex_standards, "~> 0.1"}
]
end
```
Mix starts the application automatically:
```elixir
{:ok, koi8} = Iconvex.convert("Привет", "UTF-8", "KOI8-F")
{:ok, "Привет"} = Iconvex.convert(koi8, "KOI8-F", "UTF-8")
{:ok, bootstring} =
Iconvex.convert("Καλημέρα 日本語", "UTF-8", "PUNYCODE")
{:ok, "Καλημέρα 日本語"} =
Iconvex.convert(bootstring, "PUNYCODE", "UTF-8")
{:ok, mailbox_name} =
Iconvex.convert("旅行/日本", "UTF-8", "UTF-7-IMAP")
```
The package supports all standard Iconvex conversion policies.
These policies include strict errors, discard, byte substitution, and Unicode substitution.
## Package contents
The frozen package manifest contains:
| Surface | Count | Highlights |
| --- | ---: | --- |
| Registered byte codecs | 248 | 143 RFC 1345 sets, ISO-IR, ISCII, Punycode, IMAP UTF-7, VIQR, VSCII-2, PASCII, KOI, Kermit, TACE-16 |
| Table providers | 205 | Package-local, immutable ETF lookup tables |
| Packed profiles | 5 | ECMA-1 six-bit plus four seven-bit profiles, each MSB- and LSB-first |
| Property-token mappings | 4 | Unicode 17 mainland/Taiwan telegraph and kGB3 |
| Raw transports | 2 | ECMA-44 seven- and eight-bit punched-card combinations |
| Cataloged quarantine | 2 | Fully mapped RFC 1345 tables that the package does not register |
The package contains 143 registered RFC 1345 codecs and 14 IANA PCL symbol sets.
It contains 12 modern ISO-IR sets and seven CNS 11643 sets.
It also contains six historical graphic sets and five mosaic or technical sets.
The package also includes four Unicode legacy mappings, three JIS X 0213 sets,
and two KPS 9566-97 profiles.
Notable algorithmic and source-qualified codecs include:
- `PUNYCODE`, `UTF-7-IMAP`, `VIQR`, `MNEMONIC`, and `MNEM`.
- All ten ISCII 1991 scripts.
- `KOI7-switched`, `KOI8-F`, draft KOI8-C, and `SHORT-KOI`.
- ABICOMP, BRASCII, VSCII-2, and four explicit PASCII policies.
- ECMA-1, ISO 10585, ISO-IR 42, ISO-IR 169, and fixed-width Japanese EUC.
- Three Kermit ISO profiles and three commit-qualified Lithuanian standards.
- TACE-16 in big-endian and little-endian word transports.
`Iconvex.Standards.encodings/0` returns the exact registered canonical names.
`Iconvex.Standards.registrations/0` also exposes aliases and source provenance.
[`SURFACE_MANIFEST.tsv`](SURFACE_MANIFEST.tsv) provides the machine-readable ownership authority.
## Odd-width transports
The byte codec API represents one six-bit or seven-bit unit per octet.
Use the explicit packed facade for wire formats.
```elixir
alias Iconvex.Standards.Packed
{:ok, bits} =
Packed.encode_from_utf8("ABC", "ECMA-1-PACKED-MSB")
{:ok, "ABC"} =
Packed.decode_to_utf8(bits, "ECMA-1-PACKED-MSB")
{:ok, lsb_transport} =
Packed.encode_from_utf8("Привет", "SHORT-KOI-PACKED-LSB")
{:ok, "Привет"} =
Packed.decode_to_utf8(lsb_transport, "SHORT-KOI-PACKED-LSB")
```
The facade returns LSB-first data as `Iconvex.Packed.LSB`.
The value retains the exact bit length, unit width, and bit order.
Do not pass `:lsb` with an explicitly named MSB profile.
The reverse mismatch is also invalid.
## Unicode property tokens
Unihan telegraph and kGB3 values are single property tokens.
Therefore, they implement `Iconvex.Standards.PropertyTokenMapping`, not `Iconvex.Codec`.
```elixir
alias Iconvex.Standards.Unihan17MainlandTelegraphDecimalToken, as: Telegraph
{:ok, scalar} = Telegraph.decode_token("0001")
{:ok, token} = Telegraph.encode_scalar(scalar)
```
Taiwan telegraph offers separate readable and lossless-VPUA reverse policies.
This distinction avoids a fictitious concatenated byte-stream encoding.
It also preserves duplicate and normalization-sensitive property values.
## Verification
The RED/GREEN suite verifies:
- 197 migrated source tests and package-boundary tests.
- Every decode and canonical encode entry in 205 provider tables.
- All single-byte inputs and all 13,069 ISCII oracle vectors.
- Each TACE-16 word and packed source unit in both orders.
- All 7,236 kGB3 property and GL rows.
- Provider-collision rollback in lifecycle tests.
Run it locally:
```console
ICONVEX_PATH=../iconvex mix test --warnings-as-errors
elixir tools/generate_surface_module.exs --check
```
The `bench/` directory contains performance and scaling gates.
[`BENCHMARKS.md`](BENCHMARKS.md) describes them.
[`TDD_LOG.md`](TDD_LOG.md) records the test chronology.
## License and provenance
The original Iconvex code uses LGPL-2.1-or-later, matching GNU libiconv.
Packaged upstream evidence retains its Unicode, BSD-3-Clause, MIT, or PSF terms.
See [`NOTICE`](NOTICE) and the accompanying license files.
<!-- iconvex-codec-catalog:start -->
## Complete codec catalog
The generator builds this table from the release inventories.
Do not edit this section by hand.
Codec names ignore ASCII letter case.
You can use each alias to look up its codec.
Aliases do not increase the canonical codec count.
**248 canonical codecs · 396 aliases · 644 accepted names.**
### Registered codec names
| Canonical codec | Accepted aliases | Stateful |
|---|---|:---:|
| `ABICOMP` | `BRAZIL-ABICOMP`<br>`CODE-PAGE-3848`<br>`CP3848`<br>`FREEDOS-CP3848` | No |
| `ANSI_X3.110-1983` | `CSA_T500-1983`<br>`iso-ir-99`<br>`NAPLPS` | No |
| `APL-ISO-IR-68` | `ISO-IR-68-APL` | No |
| `APL-ISO-IR-68-2004` | `ISO-IR-68-APL-2004` | No |
| `ASMO_449` | `arabic7`<br>`iso-ir-89`<br>`ISO_9036` | No |
| `BRASCII` | `ABNT`<br>`ABNT-BRASCII`<br>`BRA-SCII`<br>`BRAZIL-ABNT`<br>`BRAZIL-ABNT-3847`<br>`CODE-PAGE-3847`<br>`CP3847`<br>`NBR-9611`<br>`NBR-9611:1991`<br>`NBR-9614`<br>`NBR-9614:1986` | No |
| `BS_4730` | `gb`<br>`iso-ir-4`<br>`ISO646-GB`<br>`uk` | No |
| `BS_viewdata` | `iso-ir-47` | No |
| `CSA_Z243.4-1985-1` | `ca`<br>`csa7-1`<br>`iso-ir-121`<br>`ISO646-CA` | No |
| `CSA_Z243.4-1985-2` | `csa7-2`<br>`iso-ir-122`<br>`ISO646-CA2` | No |
| `CSA_Z243.4-1985-gr` | `iso-ir-123` | No |
| `CSN_369103` | `iso-ir-139` | No |
| `DEC-MCS` | `dec` | No |
| `DIN_66003` | `de`<br>`iso-ir-21`<br>`ISO646-DE` | No |
| `dk-us` || No |
| `DS_2089` | `dk`<br>`DS2089`<br>`ISO646-DK` | No |
| `EBCDIC-AT-DE` || No |
| `EBCDIC-AT-DE-A` || No |
| `EBCDIC-CA-FR` || No |
| `EBCDIC-DK-NO` || No |
| `EBCDIC-DK-NO-A` || No |
| `EBCDIC-ES` || No |
| `EBCDIC-ES-A` || No |
| `EBCDIC-ES-S` || No |
| `EBCDIC-FI-SE` || No |
| `EBCDIC-FI-SE-A` || No |
| `EBCDIC-FR` || No |
| `EBCDIC-IT` || No |
| `EBCDIC-PT` || No |
| `EBCDIC-UK` || No |
| `EBCDIC-US` || No |
| `ECMA-1` | `ECMA-1-6BIT`<br>`ECMA-1-PRIMARY`<br>`ECMA1` | No |
| `ECMA-cyrillic` | `iso-ir-111` | No |
| `ES` | `iso-ir-17`<br>`ISO646-ES` | No |
| `ES2` | `iso-ir-85`<br>`ISO646-ES2` | No |
| `Extended_UNIX_Code_Fixed_Width_for_Japanese` | `csEUCFixWidJapanese` | No |
| `GOST_19768-74` | `iso-ir-153`<br>`ST_SEV_358-88` | No |
| `greek-ccitt` | `iso-ir-150` | No |
| `GREEK-ISO` | `ECMA-118-1987`<br>`ELOT-928`<br>`ELOT928`<br>`ELOT928-GREEK`<br>`ISO-IR-126-1987` | No |
| `greek7` | `ELOT-927`<br>`ELOT927`<br>`iso-ir-88` | No |
| `greek7-old` | `iso-ir-18` | No |
| `HANGUL-JOHAB-COMPONENT` | `UNICODE-HANGUL-JOHAB` | No |
| `HANGUL-UHANGUL` | `HANGUL`<br>`UHANGUL`<br>`UNICODE-HANGUL-UNIFIED` | No |
| `HANGUL-WANSUNG-COMPONENT` | `UNICODE-HANGUL-WANSUNG` | No |
| `HEBREW-ISO` | `HEBREW-ISO-KERMIT`<br>`ISO-8859-8-1988-HISTORICAL`<br>`ISO-IR-138-1988` | No |
| `HP-DeskTop` | `csHPDesktop` | No |
| `HP-Legal` | `csHPLegal` | No |
| `HP-Math8` | `csHPMath8` | No |
| `HP-Pi-font` | `csHPPiFont` | No |
| `IBM038` | `cp038`<br>`EBCDIC-INT` | No |
| `IBM274` | `CP274`<br>`EBCDIC-BE` | No |
| `IBM275` | `cp275`<br>`EBCDIC-BR` | No |
| `IBM281` | `cp281`<br>`EBCDIC-JP-E` | No |
| `IBM290` | `cp290`<br>`EBCDIC-JP-kana` | No |
| `IBM420` | `cp420`<br>`ebcdic-cp-ar1` | No |
| `IBM851` | `851`<br>`cp851` | No |
| `IBM868` | `cp-ar`<br>`CP868` | No |
| `IBM891` | `cp891` | No |
| `IBM903` | `cp903` | No |
| `IBM904` | `904`<br>`cp904` | No |
| `IBM918` | `CP918`<br>`ebcdic-cp-ar2` | No |
| `IEC_P27-1` | `iso-ir-143` | No |
| `INIS` | `iso-ir-49` | No |
| `INIS-8` | `iso-ir-50` | No |
| `INIS-cyrillic` | `iso-ir-51` | No |
| `INVARIANT` | `ISO-IR-170` | No |
| `ISCII-91` | `ISCII91` | Yes |
| `ISO-10585:1996-GRAPHIC` || No |
| `ISO-10646-J-1` | `csUnicodeJapanese` | No |
| `ISO-10646-UCS-Basic` | `csUnicodeASCII` | No |
| `ISO-10646-Unicode-Latin1` | `csUnicodeLatin1`<br>`ISO-10646` | No |
| `ISO-8859-1-Windows-3.0-Latin-1` | `csWindows30Latin1` | No |
| `ISO-8859-1-Windows-3.1-Latin-1` | `csWindows31Latin1` | No |
| `ISO-8859-2-Windows-Latin-2` | `csWindows31Latin2` | No |
| `ISO-8859-9-Windows-Latin-5` | `csWindows31Latin5` | No |
| `ISO-IR-129` | `CCITT-T101-III-SUPPL`<br>`ISOIR129`<br>`ISO_129` | No |
| `ISO-IR-137` | `CCITT-T101-I-MOSAIC-1`<br>`ISOIR137`<br>`ISO_137` | No |
| `ISO-IR-164` | `HEBREW-SUPPLEMENTARY-ISO-IR-164` | No |
| `ISO-IR-167` | `ARABIC-FRENCH-GERMAN-ISO-IR-167` | No |
| `ISO-IR-169` | `BLISSYMBOLICS`<br>`CSISO169BLISS`<br>`ISOIR169`<br>`ISO_169` | No |
| `ISO-IR-171` | `CNS-11643-1992-PLANE-1`<br>`CNS11643-1` | No |
| `ISO-IR-172` | `CNS-11643-1992-PLANE-2`<br>`CNS11643-2` | No |
| `ISO-IR-173` | `CCITT-T101-III-MOSAIC`<br>`ISOIR173`<br>`ISO_173` | No |
| `ISO-IR-181` | `IEC-1289-TECHNICAL-1`<br>`ISOIR181`<br>`ISO_181` | No |
| `ISO-IR-182` | `WELSH-ISO-IR-182` | No |
| `ISO-IR-183` | `CNS-11643-1992-PLANE-3`<br>`CNS11643-3` | No |
| `ISO-IR-184` | `CNS-11643-1992-PLANE-4`<br>`CNS11643-4` | No |
| `ISO-IR-185` | `CNS-11643-1992-PLANE-5`<br>`CNS11643-5` | No |
| `ISO-IR-186` | `CNS-11643-1992-PLANE-6`<br>`CNS11643-6` | No |
| `ISO-IR-187` | `CNS-11643-1992-PLANE-7`<br>`CNS11643-7` | No |
| `ISO-IR-198` | `LATIN-HEBREW-ISO-IR-198` | No |
| `ISO-IR-200` | `URALIC-SUPPLEMENTARY-CYRILLIC` | No |
| `ISO-IR-201` | `VOLGAIC-SUPPLEMENTARY-CYRILLIC` | No |
| `ISO-IR-202` | `CSISO202KOREAN`<br>`ISOIR202`<br>`ISO_202` | No |
| `ISO-IR-204` | `LATIN-1-EURO-ISO-IR-204` | No |
| `ISO-IR-205` | `LATIN-4-EURO-ISO-IR-205` | No |
| `ISO-IR-206` | `LATIN-7-EURO-ISO-IR-206` | No |
| `ISO-IR-207` | `IRISH-GAELIC-ISO-IR-207` | No |
| `ISO-IR-208` | `OGHAM-ISO-IR-208` | No |
| `ISO-IR-228` | `JIS-X-0213-2000-PLANE-1` | No |
| `ISO-IR-229` | `JIS-X-0213-2000-PLANE-2`<br>`JIS-X-0213-2004-PLANE-2` | No |
| `ISO-IR-232` | `TURKMEN-ISO-IR-232` | No |
| `ISO-IR-233` | `JIS-X-0213-2004-PLANE-1` | No |
| `ISO-IR-234` | `LATIN-HEBREW-ISO-IR-234` | No |
| `ISO-IR-31` | `GREEK-BIBLIOGRAPHIC-1976` | No |
| `ISO-IR-38` | `DIN-31624`<br>`DIN_31624` | No |
| `ISO-IR-39` | `DIN-31625`<br>`ISO-6438` | No |
| `ISO-IR-42` | `CSISO42JISC62261978`<br>`ISOIR42`<br>`ISO_42`<br>`JIS-C6226-1978`<br>`JISC6226-1978`<br>`JIS_C6226-1978` | No |
| `ISO-IR-53` | `ISO-5426`<br>`ISO_5426:1980` | No |
| `ISO-IR-59` | `CODAR-U`<br>`CODARU` | No |
| `ISO-IR-71` | `CCITT-MOSAIC-2`<br>`ISOIR71`<br>`ISO_71` | No |
| `iso-ir-90` || No |
| `ISO_10367-box` | `iso-ir-155` | No |
| `ISO_2033-1983` | `e13b`<br>`iso-ir-98` | No |
| `ISO_5427` | `iso-ir-37` | No |
| `ISO_5427:1981` | `iso-ir-54` | No |
| `ISO_5428:1980` | `iso-ir-55` | No |
| `ISO_646.basic:1983` | `ref` | No |
| `ISO_646.irv:1983` | `irv`<br>`iso-ir-2` | No |
| `ISO_6937-2-25` | `iso-ir-152` | No |
| `ISO_6937-2-add` | `iso-ir-142` | No |
| `ISO_8859-supp` | `iso-ir-154`<br>`latin1-2-5` | No |
| `IT` | `iso-ir-15`<br>`ISO646-IT` | No |
| `JIS0201` | `UNICODE-MAPPING-JIS0201` | No |
| `JIS0212` | `JIS-X-0212-ROW-CELL`<br>`UNICODE-MAPPING-JIS0212` | No |
| `JIS_C6220-1969-jp` | `iso-ir-13`<br>`JIS_C6220-1969`<br>`katakana`<br>`x0201-7` | No |
| `JIS_C6229-1984-a` | `iso-ir-91`<br>`jp-ocr-a` | No |
| `JIS_C6229-1984-b` | `iso-ir-92`<br>`ISO646-JP-OCR-B`<br>`jp-ocr-b` | No |
| `JIS_C6229-1984-b-add` | `iso-ir-93`<br>`jp-ocr-b-add` | No |
| `JIS_C6229-1984-hand` | `iso-ir-94`<br>`jp-ocr-hand` | No |
| `JIS_C6229-1984-hand-add` | `iso-ir-95`<br>`jp-ocr-hand-add` | No |
| `JIS_C6229-1984-kana` | `iso-ir-96` | No |
| `JUS_I.B1.002` | `iso-ir-141`<br>`ISO646-YU`<br>`js`<br>`yu` | No |
| `JUS_I.B1.003-mac` | `iso-ir-147`<br>`JUS-I.B1.004`<br>`JUS_I.B1.004`<br>`macedonian` | No |
| `JUS_I.B1.003-serb` | `iso-ir-146`<br>`serbian` | No |
| `KERMIT-ELOT927-GREEK` | `DEC-GREEK-7-UPPER`<br>`ELOT927-GREEK` | No |
| `KOI7-switched` | `csKOI7switched` | Yes |
| `KOI8-C-DRAFT-WINITZKI-00` || No |
| `KOI8-F` | `CP60270-NMSU-2008`<br>`KOI8-F-NMSU-2008`<br>`KOI8-UNIFIED`<br>`KOI8-UNIFIED-NMSU-2008` | No |
| `KPS-9566-2003` | `KPS-9566`<br>`KPS9566` | No |
| `KPS-9566-97` | `EUC-KP`<br>`EUC-KP-97`<br>`KPS9566-97`<br>`KPS956697` | No |
| `KSC5636` | `ISO646-KR` | No |
| `KSX1001` | `KS-X-1001-ROW-CELL`<br>`UNICODE-MAPPING-KSX1001` | No |
| `latin-greek` | `iso-ir-19` | No |
| `Latin-greek-1` | `iso-ir-27` | No |
| `latin-lap` | `iso-ir-158`<br>`lap` | No |
| `LATIN6-ISO` | `ISO-8859-10-LATIN6-STANDARD`<br>`LATIN-6-ISO-STANDARD` | No |
| `LIETUVYBE-52A97895-LST-1564-2000-STRICT-BLANKS` || No |
| `LIETUVYBE-52A97895-LST-1590-2-2000-STRICT-BLANKS` || No |
| `LIETUVYBE-52A97895-LST-1590-4-2000-STRICT-BLANKS` || No |
| `Microsoft-Publishing` | `csMicrosoftPublishing` | No |
| `MNEM` | `csMnem`<br>`mnemonic+ascii+8200` | Yes |
| `MNEMONIC` | `csMnemonic`<br>`mnemonic+ascii+38` | Yes |
| `MSZ_7795.3` | `hu`<br>`HUNGARIAN`<br>`iso-ir-86`<br>`ISO646-HU` | No |
| `NATS-DANO` | `iso-ir-9-1` | No |
| `NATS-DANO-ADD` | `iso-ir-9-2` | No |
| `NATS-SEFI` | `iso-ir-8-1` | No |
| `NATS-SEFI-ADD` | `iso-ir-8-2` | No |
| `NC_NC00-10:81` | `cuba`<br>`iso-ir-151`<br>`ISO646-CU` | No |
| `NF_Z_62-010` | `fr`<br>`iso-ir-69`<br>`ISO646-FR` | No |
| `NF_Z_62-010_(1973)` | `iso-ir-25`<br>`ISO646-FR1` | No |
| `NS_4551-1` | `iso-ir-60`<br>`ISO646-NO`<br>`no` | No |
| `NS_4551-2` | `iso-ir-61`<br>`ISO646-NO2`<br>`no2` | No |
| `OLD5601` | `OLD-KSC5601-ROW-CELL`<br>`UNICODE-MAPPING-OLD5601` | No |
| `PASCII-CDAC-GIST-1.0-2002-LOSSLESS-VPUA-1` || No |
| `PASCII-CDAC-GIST-1.0-2002-RAW-VPUA-1` || No |
| `PASCII-CDAC-GIST-1.0-2002-SINDHI-UNICODE17-BEST-FIT` || No |
| `PASCII-CDAC-GIST-1.0-2002-URDU-KASHMIRI-UNICODE17-BEST-FIT` || No |
| `PC8-Danish-Norwegian` | `csPC8DanishNorwegian` | No |
| `PC8-Turkish` | `csPC8Turkish` | No |
| `PT` | `iso-ir-16`<br>`ISO646-PT` | No |
| `PT2` | `iso-ir-84`<br>`ISO646-PT2` | No |
| `PUNYCODE` | `BOOTSTRING-PUNYCODE`<br>`RFC-3492`<br>`RFC3492` | No |
| `RFC1345:ANSI_X3.4-1968` || No |
| `RFC1345:GB_1988-80` || No |
| `RFC1345:GB_2312-80` || No |
| `RFC1345:hp-roman8` || No |
| `RFC1345:IBM037` | `RFC1345:cp037`<br>`RFC1345:ebcdic-cp-ca`<br>`RFC1345:ebcdic-cp-nl`<br>`RFC1345:ebcdic-cp-us`<br>`RFC1345:ebcdic-cp-wt` | No |
| `RFC1345:IBM1026` | `RFC1345:CP1026` | No |
| `RFC1345:IBM273` | `RFC1345:CP273` | No |
| `RFC1345:IBM277` | `RFC1345:EBCDIC-CP-DK`<br>`RFC1345:EBCDIC-CP-NO` | No |
| `RFC1345:IBM278` | `RFC1345:CP278`<br>`RFC1345:ebcdic-cp-fi`<br>`RFC1345:ebcdic-cp-se` | No |
| `RFC1345:IBM280` | `RFC1345:CP280`<br>`RFC1345:ebcdic-cp-it` | No |
| `RFC1345:IBM284` | `RFC1345:CP284`<br>`RFC1345:ebcdic-cp-es` | No |
| `RFC1345:IBM285` | `RFC1345:CP285`<br>`RFC1345:ebcdic-cp-gb` | No |
| `RFC1345:IBM297` | `RFC1345:cp297`<br>`RFC1345:ebcdic-cp-fr` | No |
| `RFC1345:IBM424` | `RFC1345:cp424`<br>`RFC1345:ebcdic-cp-he` | No |
| `RFC1345:IBM437` | `RFC1345:437`<br>`RFC1345:cp437` | No |
| `RFC1345:IBM500` | `RFC1345:CP500`<br>`RFC1345:ebcdic-cp-be`<br>`RFC1345:ebcdic-cp-ch` | No |
| `RFC1345:IBM850` || No |
| `RFC1345:IBM852` | `RFC1345:852`<br>`RFC1345:cp852` | No |
| `RFC1345:IBM855` | `RFC1345:855`<br>`RFC1345:cp855` | No |
| `RFC1345:IBM857` | `RFC1345:857`<br>`RFC1345:cp857` | No |
| `RFC1345:IBM860` | `RFC1345:860`<br>`RFC1345:cp860` | No |
| `RFC1345:IBM861` | `RFC1345:861`<br>`RFC1345:cp-is`<br>`RFC1345:cp861` | No |
| `RFC1345:IBM862` || No |
| `RFC1345:IBM863` | `RFC1345:863`<br>`RFC1345:cp863` | No |
| `RFC1345:IBM864` | `RFC1345:cp864` | No |
| `RFC1345:IBM865` | `RFC1345:865`<br>`RFC1345:cp865` | No |
| `RFC1345:IBM869` | `RFC1345:869`<br>`RFC1345:cp-gr`<br>`RFC1345:cp869` | No |
| `RFC1345:IBM870` | `RFC1345:CP870`<br>`RFC1345:ebcdic-cp-roece`<br>`RFC1345:ebcdic-cp-yu` | No |
| `RFC1345:IBM871` | `RFC1345:CP871`<br>`RFC1345:ebcdic-cp-is` | No |
| `RFC1345:IBM880` | `RFC1345:cp880`<br>`RFC1345:EBCDIC-Cyrillic` | No |
| `RFC1345:IBM905` | `RFC1345:CP905`<br>`RFC1345:ebcdic-cp-tr` | No |
| `RFC1345:ISO_8859-1:1987` || No |
| `RFC1345:ISO_8859-2:1987` || No |
| `RFC1345:ISO_8859-3:1988` || No |
| `RFC1345:ISO_8859-4:1988` || No |
| `RFC1345:ISO_8859-5:1988` || No |
| `RFC1345:ISO_8859-6:1987` || No |
| `RFC1345:ISO_8859-7:1987` || No |
| `RFC1345:ISO_8859-8:1988` || No |
| `RFC1345:ISO_8859-9:1989` || No |
| `RFC1345:JIS_C6220-1969-ro` || No |
| `RFC1345:JIS_C6226-1983` || No |
| `RFC1345:JIS_X0201` || No |
| `RFC1345:JIS_X0212-1990` || No |
| `RFC1345:KS_C_5601-1987` || No |
| `RFC1345:latin6` || No |
| `RFC1345:macintosh` || No |
| `SEN_850200_B` | `FI`<br>`iso-ir-10`<br>`ISO646-FI`<br>`ISO646-SE`<br>`se` | No |
| `SEN_850200_C` | `iso-ir-11`<br>`ISO646-SE2`<br>`se2` | No |
| `SHORT-KOI` | `KOI-7`<br>`KOI-7-N2`<br>`KOI7`<br>`KOI7-N2`<br>`VKD` | No |
| `T.101-G2` | `iso-ir-128` | No |
| `T.61-7bit` | `iso-ir-102` | No |
| `T.61-8bit` | `iso-ir-103`<br>`T.61` | No |
| `TAMILVU-TACE16-APPENDIX-D-2010-16BE` | `TACE16-APPENDIX-D-2010-BE` | No |
| `TAMILVU-TACE16-APPENDIX-D-2010-16LE` | `TACE16-APPENDIX-D-2010-LE` | No |
| `UNIHAN-17.0.0-KGB3-ROW-CELL-GL` || No |
| `us-dk` || No |
| `UTF-7-IMAP` | `IMAP-MODIFIED-UTF-7`<br>`IMAP-UTF-7`<br>`MODIFIED-UTF-7` | Yes |
| `Ventura-International` | `csVenturaInternational` | No |
| `Ventura-Math` | `csVenturaMath` | No |
| `Ventura-US` | `csVenturaUS` | No |
| `videotex-suppl` | `iso-ir-70` | No |
| `VIQR` | `csVIQR`<br>`VIQR-1.1` | Yes |
| `VSCII-2` | `ISO-IR-180`<br>`TCVN-5712-2`<br>`TCVN-VN2`<br>`TCVN5712-2`<br>`TCVN5712-2:1993`<br>`VN2`<br>`VSCII` | No |
| `x-iscii-as` | `iscii-asm`<br>`windows-57006` | Yes |
| `x-iscii-be` | `iscii-bng`<br>`windows-57003` | Yes |
| `x-iscii-de` | `iscii-dev`<br>`windows-57002` | Yes |
| `x-iscii-gu` | `iscii-guj`<br>`windows-57010` | Yes |
| `x-iscii-ka` | `iscii-knd`<br>`windows-57008` | Yes |
| `x-iscii-ma` | `iscii-mlm`<br>`windows-57009` | Yes |
| `x-iscii-or` | `iscii-ori`<br>`windows-57007` | Yes |
| `x-iscii-pa` | `iscii-gur`<br>`windows-57011` | Yes |
| `x-iscii-ta` | `iscii-tml`<br>`windows-57004` | Yes |
| `x-iscii-te` | `iscii-tlg`<br>`windows-57005` | Yes |
| `X-USER-DEFINED` | `x_user_defined` | No |
### Packed transport profiles
**5 base codec profiles · 10 explicit packed names.**
These profiles change the bit transport only.
They do not add registered Unicode mappings.
| Base codec | Unit bits | Standard order | Explicit packed names |
|---|---:|:---:|---|
| `ECMA-1` | 6 | MSB | `ECMA-1-PACKED-MSB`<br>`ECMA-1-PACKED-LSB` |
| `ISO-10585:1996-GRAPHIC` | 7 | MSB | `ISO-10585:1996-GRAPHIC-PACKED-MSB`<br>`ISO-10585:1996-GRAPHIC-PACKED-LSB` |
| `KERMIT-ELOT927-GREEK` | 7 | MSB | `KERMIT-ELOT927-GREEK-PACKED-MSB`<br>`KERMIT-ELOT927-GREEK-PACKED-LSB` |
| `SHORT-KOI` | 7 | MSB | `SHORT-KOI-PACKED-MSB`<br>`SHORT-KOI-PACKED-LSB` |
| `greek7` | 7 | MSB | `greek7-PACKED-MSB`<br>`greek7-PACKED-LSB` |
<!-- iconvex-codec-catalog:end -->