📄 marc8.c
字号:
{"\x6F", 0x00F2}, {"\xAC", 0x1EDC}, {"\xBC", 0x1EDD}, {"\xE5\x4F", 0x1E50}, {"\xE5\x6F", 0x1E51}, {"\x55", 0x00D9}, {"\x75", 0x00F9}, {"\xAD", 0x1EEA}, {"\xBD", 0x1EEB}, {"\xE8\x55", 0x01DB}, {"\xE8\x75", 0x01DC}, {"\x57", 0x1E80}, {"\x77", 0x1E81}, {"\x59", 0x1EF2}, {"\x79", 0x1EF3}, {0, 0}};struct yaz_iconv_trie marc8page3 = { marc8page3_flat, 0};/* PAGE 2 */struct yaz_iconv_trie_flat marc8page2_flat[] = { {"\xF2\x41", 0x1EB6}, {"\xF2\x61", 0x1EB7}, {"\x41", 0x0102}, {"\x61", 0x0103}, {"\x45", 0x0114}, {"\x65", 0x0115}, {"\xF0\x45", 0x1E1C}, {"\xF0\x65", 0x1E1D}, {"\x47", 0x011E}, {"\x67", 0x011F}, {"\x49", 0x012C}, {"\x69", 0x012D}, {"\x4F", 0x014E}, {"\x6F", 0x014F}, {"\x55", 0x016C}, {"\x75", 0x016D}, {0, 0}};struct yaz_iconv_trie marc8page2 = { marc8page2_flat, 0};/* PAGE 1 */struct yaz_iconv_trie_dir marc8page1_dir[256] = { {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0x00C1} /* 41 */, {0, 0}, {0, 0x0106} /* 43 */, {0, 0}, {0, 0x00C9} /* 45 */, {0, 0}, {0, 0x01F4} /* 47 */, {0, 0}, {0, 0x00CD} /* 49 */, {0, 0}, {0, 0x1E30} /* 4B */, {0, 0x0139} /* 4C */, {0, 0x1E3E} /* 4D */, {0, 0x0143} /* 4E */, {0, 0x00D3} /* 4F */, {0, 0x1E54} /* 50 */, {0, 0}, {0, 0x0154} /* 52 */, {0, 0x015A} /* 53 */, {0, 0}, {0, 0x00DA} /* 55 */, {0, 0}, {0, 0x1E82} /* 57 */, {0, 0}, {0, 0x00DD} /* 59 */, {0, 0x0179} /* 5A */, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0x00E1} /* 61 */, {0, 0}, {0, 0x0107} /* 63 */, {0, 0}, {0, 0x00E9} /* 65 */, {0, 0}, {0, 0x01F5} /* 67 */, {0, 0}, {0, 0x00ED} /* 69 */, {0, 0}, {0, 0x1E31} /* 6B */, {0, 0x013A} /* 6C */, {0, 0x1E3F} /* 6D */, {0, 0x0144} /* 6E */, {0, 0x00F3} /* 6F */, {0, 0x1E55} /* 70 */, {0, 0}, {0, 0x0155} /* 72 */, {0, 0x015B} /* 73 */, {0, 0}, {0, 0x00FA} /* 75 */, {0, 0}, {0, 0x1E83} /* 77 */, {0, 0}, {0, 0x00FD} /* 79 */, {0, 0x017A} /* 7A */, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0x01FE} /* A2 */, {0, 0}, {0, 0}, {0, 0x01FC} /* A5 */, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0x1EDA} /* AC */, {0, 0x1EE8} /* AD */, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0x01FF} /* B2 */, {0, 0}, {0, 0}, {0, 0x01FD} /* B5 */, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0x1EDB} /* BC */, {0, 0x1EE9} /* BD */, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {&marc8page31, 0} /* E4 */, {&marc8page29, 0} /* E5 */, {&marc8page26, 0} /* E6 */, {0, 0}, {&marc8page30, 0} /* E8 */, {0, 0}, {&marc8page27, 0} /* EA */, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {&marc8page28, 0} /* F0 */, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}};struct yaz_iconv_trie marc8page1 = { 0, marc8page1_dir};/* PAGE 0 */struct yaz_iconv_trie_dir marc8page0_dir[256] = { {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {&marc8page11, 0} /* 1B */, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {&marc8page20, 0} /* 4C */, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {&marc8page21, 0} /* 6C */, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0x0141} /* A1 */, {0, 0x00D8} /* A2 */, {0, 0x0110} /* A3 */, {0, 0x00DE} /* A4 */, {0, 0x00C6} /* A5 */, {0, 0x0152} /* A6 */, {0, 0x02B9} /* A7 */, {0, 0x00B7} /* A8 */, {0, 0x266D} /* A9 */, {0, 0x00AE} /* AA */, {0, 0x00B1} /* AB */, {0, 0x01A0} /* AC */, {0, 0x01AF} /* AD */, {0, 0x02BE} /* AE */, {0, 0}, {0, 0x02BF} /* B0 */, {0, 0x0142} /* B1 */, {0, 0x00F8} /* B2 */, {0, 0x0111} /* B3 */, {0, 0x00FE} /* B4 */, {0, 0x00E6} /* B5 */, {0, 0x0153} /* B6 */, {0, 0x02BA} /* B7 */, {0, 0x0131} /* B8 */, {0, 0x00A3} /* B9 */, {0, 0x00F0} /* BA */, {0, 0}, {0, 0x01A1} /* BC */, {0, 0x01B0} /* BD */, {0, 0}, {0, 0}, {0, 0x00B0} /* C0 */, {0, 0x2113} /* C1 */, {0, 0x2117} /* C2 */, {0, 0x00A9} /* C3 */, {0, 0x266F} /* C4 */, {0, 0x00BF} /* C5 */, {0, 0x00A1} /* C6 */, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {&marc8page4, 0x0309} /* E0 */, {&marc8page3, 0x0300} /* E1 */, {&marc8page1, 0x0301} /* E2 */, {&marc8page7, 0x0302} /* E3 */, {&marc8page5, 0x0303} /* E4 */, {&marc8page8, 0x0304} /* E5 */, {&marc8page2, 0x0306} /* E6 */, {&marc8page10, 0x0307} /* E7 */, {&marc8page14, 0x0308} /* E8 */, {&marc8page6, 0x030C} /* E9 */, {&marc8page13, 0x030A} /* EA */, {0, 0xFE20} /* EB */, {0, 0xFE21} /* EC */, {&marc8page22, 0x0315} /* ED */, {&marc8page23, 0x030B} /* EE */, {0, 0x0310} /* EF */, {&marc8page16, 0x0327} /* F0 */, {&marc8page12, 0x0328} /* F1 */, {&marc8page9, 0x0323} /* F2 */, {&marc8page25, 0x0324} /* F3 */, {0, 0x0325} /* F4 */, {&marc8page18, 0x0333} /* F5 */, {&marc8page15, 0x0332} /* F6 */, {&marc8page17, 0x0326} /* F7 */, {&marc8page24, 0x031C} /* F8 */, {&marc8page19, 0x032E} /* F9 */, {0, 0xFE22} /* FA */, {0, 0xFE23} /* FB */, {0, 0}, {0, 0}, {0, 0x0313} /* FE */, {0, 0}};struct yaz_iconv_trie marc8page0 = { 0, marc8page0_dir}; static unsigned long lookup(struct yaz_iconv_trie *t, unsigned char *inp, size_t inbytesleft, size_t *no_read) { if (!t || inbytesleft < 1) return 0; if (t->dir) { size_t ch = inp[0] & 0xff; unsigned long code = lookup(t->dir[ch].ptr, inp+1, inbytesleft-1, no_read); if (code) { (*no_read)++; return code; } if (t->dir[ch].to) { code = t->dir[ch].to; *no_read = 1; return code; } } else { struct yaz_iconv_trie_flat *flat = t->flat; while (flat->from) { size_t len = strlen(flat->from); if (len <= inbytesleft) { if (memcmp(flat->from, inp, len) == 0) { *no_read = len; return flat->to; } } flat++; } } return 0; } unsigned long yaz_marc8_conv (unsigned char *inp, size_t inbytesleft, size_t *no_read) { unsigned long code; code = lookup(&marc8page0, inp, inbytesleft, no_read); if (!code) { *no_read = 1; code = *inp; } return code; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -