module

JustHTML::Encoding

Constants

ENCODING_ALIASES = {"utf-8" => "UTF-8", "utf8" => "UTF-8", "unicode-1-1-utf-8" => "UTF-8", "utf-16" => "UTF-16", "utf-16le" => "UTF-16LE", "utf-16be" => "UTF-16BE", "iso-8859-1" => "ISO-8859-1", "iso8859-1" => "ISO-8859-1", "iso88591" => "ISO-8859-1", "latin1" => "ISO-8859-1", "latin-1" => "ISO-8859-1", "l1" => "ISO-8859-1", "csisolatin1" => "ISO-8859-1", "windows-1252" => "windows-1252", "cp1252" => "windows-1252", "x-cp1252" => "windows-1252", "ascii" => "windows-1252", "us-ascii" => "windows-1252", "iso-ir-6" => "windows-1252", "iso-8859-2" => "ISO-8859-2", "iso-8859-3" => "ISO-8859-3", "iso-8859-4" => "ISO-8859-4", "iso-8859-5" => "ISO-8859-5", "iso-8859-6" => "ISO-8859-6", "iso-8859-7" => "ISO-8859-7", "iso-8859-8" => "ISO-8859-8", "iso-8859-9" => "ISO-8859-9", "iso-8859-10" => "ISO-8859-10", "iso-8859-13" => "ISO-8859-13", "iso-8859-14" => "ISO-8859-14", "iso-8859-15" => "ISO-8859-15", "iso-8859-16" => "ISO-8859-16", "windows-1250" => "windows-1250", "windows-1251" => "windows-1251", "windows-1253" => "windows-1253", "windows-1254" => "windows-1254", "windows-1255" => "windows-1255", "windows-1256" => "windows-1256", "windows-1257" => "windows-1257", "windows-1258" => "windows-1258", "koi8-r" => "KOI8-R", "koi8-u" => "KOI8-U", "gbk" => "GBK", "gb2312" => "GBK", "gb18030" => "gb18030", "big5" => "Big5", "euc-jp" => "EUC-JP", "shift_jis" => "Shift_JIS", "shift-jis" => "Shift_JIS", "iso-2022-jp" => "ISO-2022-JP", "euc-kr" => "EUC-KR"}

Encoding name aliases (lowercase -> canonical name)

PRESCAN_LIMIT = 1024

Maximum bytes to scan for charset in meta tags

Class methods

detect(bytes : Bytes) : String

Main detection function - tries BOM, then meta, then defaults to UTF-8

Source
detect_bom(bytes : Bytes) : Tuple(String, Int32) | Nil

Detect encoding from BOM (Byte Order Mark) Returns tuple of (encoding_name, bom_length) or nil

Source
normalize_encoding_name(name : String) : String | Nil

Normalize encoding name to canonical form

Source
prescan_meta_charset(bytes : Bytes) : String | Nil

Prescan HTML for meta charset declaration This is a simplified implementation of the HTML5 prescan algorithm

Source