dissect.esedb.lcmapstring
¶
Module Contents¶
Classes¶
Functions¶
Very basic Python implementation of LCMapStringEx, only supporting sorting keys. |
- class dissect.esedb.lcmapstring.MapFlags¶
Bases:
enum.IntFlag
Support for integer-based Flags
- NORM_IGNORECASE = 1¶
- NORM_IGNORENONSPACE = 2¶
- NORM_IGNORESYMBOLS = 4¶
- LINGUISTIC_IGNORECASE = 16¶
- LINGUISTIC_IGNOREDIACRITIC = 32¶
- NORM_IGNOREKANATYPE = 65536¶
- NORM_IGNOREWIDTH = 131072¶
- NORM_LINGUISTIC_CASING = 134217728¶
- LCMAP_LOWERCASE = 256¶
- LCMAP_UPPERCASE = 512¶
- LCMAP_TITLECASE = 768¶
- LCMAP_SORTKEY = 1024¶
- LCMAP_BYTEREV = 2048¶
- LCMAP_HIRAGANA = 1048576¶
- LCMAP_KATAKANA = 2097152¶
- LCMAP_HALFWIDTH = 4194304¶
- LCMAP_FULLWIDTH = 8388608¶
- LCMAP_LINGUISTIC_CASING = 16777216¶
- LCMAP_SIMPLIFIED_CHINESE = 33554432¶
- LCMAP_TRADITIONAL_CHINESE = 67108864¶
- LCMAP_SORTHANDLE = 536870912¶
- LCMAP_HASH = 262144¶
- SORT_STRINGSORT = 4096¶
- SORT_DIGITSASNUMBERS = 8¶
- class dissect.esedb.lcmapstring.SCRIPT¶
Bases:
enum.IntEnum
Enum where members are also (and must be) ints
- UNSORTABLE = 0¶
- NONSPACE_MARK = 1¶
- EXPANSION = 2¶
- EASTASIA_SPECIAL = 3¶
- JAMO_SPECIAL = 4¶
- EXTENSION_A = 5¶
- PUNCTUATION = 6¶
- SYMBOL_1 = 7¶
- SYMBOL_2 = 8¶
- SYMBOL_3 = 9¶
- SYMBOL_4 = 10¶
- SYMBOL_5 = 11¶
- SYMBOL_6 = 12¶
- DIGIT = 13¶
- LATIN = 14¶
- GREEK = 15¶
- CYRILLIC = 16¶
- KANA = 34¶
- HEBREW = 40¶
- ARABIC = 41¶
- PUA_FIRST = 169¶
- PUA_LAST = 175¶
- CJK_FIRST = 192¶
- CJK_LAST = 239¶
- class dissect.esedb.lcmapstring.CASE¶
Bases:
enum.IntFlag
Support for integer-based Flags
- FULLWIDTH = 1¶
- FULLSIZE = 2¶
- SUBSCRIPT = 8¶
- UPPER = 16¶
- KATAKANA = 32¶
- COMPR_2 = 64¶
- COMPR_4 = 128¶
- COMPR_6 = 192¶
- dissect.esedb.lcmapstring.map_string(value: str, flags: MapFlags, locale: str) bytes ¶
Very basic Python implementation of LCMapStringEx, only supporting sorting keys.
Currently only supports one hardcoded sorting table (the default) and the basic character types.
- Parameters:
value – The string to map to a sorting key.
flags – The flags passed to LCMapStringEx
locale – The locale to use for mapping.
- Returns:
A sorting key of the given input that should be compatible with LCMapStringEx.
- Raises:
NotImplementedError – If an unsupported flag or character is encountered.