From 6bc7d0b94e99860c55e83c14320146eaad88282a Mon Sep 17 00:00:00 2001 From: Greg Shuflin Date: Tue, 25 Jul 2023 23:03:13 -0700 Subject: [PATCH] make charset characters be C null-terminated strings --- src/charset.rs | 436 ++++++++++++++++++++++++------------------------- 1 file changed, 218 insertions(+), 218 deletions(-) diff --git a/src/charset.rs b/src/charset.rs index 7a690a0..c058028 100644 --- a/src/charset.rs +++ b/src/charset.rs @@ -4,222 +4,222 @@ // Character table representing the character set know as CP437 used by // the original IBM PC - https://en.wikipedia.org/wiki/Code_page_437 pub(crate) const CHAR_TABLE: [&[u8]; 218] = [ - b"!", - b"\"", - b"#", - b"$", - b"%", - b"&", - b"'", - b"(", - b")", - b"*", - b"+", - b",", - b"-", - b"~", - b".", - b"/", - b":", - b";", - b"<", - b"=", - b">", - b"?", - b"[", - b"\\", - b"]", - b"_", - b"{", - b"}", - b"A", - b"B", - b"C", - b"D", - b"E", - b"F", - b"G", - b"H", - b"I", - b"J", - b"K", - b"L", - b"M", - b"N", - b"O", - b"P", - b"Q", - b"R", - b"S", - b"T", - b"U", - b"V", - b"W", - b"X", - b"Y", - b"Z", - b"a", - b"b", - b"c", - b"d", - b"e", - b"f", - b"g", - b"h", - b"i", - b"j", - b"k", - b"l", - b"m", - b"n", - b"o", - b"p", - b"q", - b"r", - b"s", - b"t", - b"u", - b"v", - b"w", - b"x", - b"y", - b"z", - b"0", - b"1", - b"2", - b"3", - b"4", - b"5", - b"6", - b"7", - b"8", - b"9", - b"\xc3\x87", - b"\xc3\xbc", - b"\xc3\xa9", - b"\xc3\xa2", - b"\xc3\xa4", - b"\xc3\xa0", - b"\xc3\xa5", - b"\xc3\xa7", - b"\xc3\xaa", - b"\xc3\xab", - b"\xc3\xa8", - b"\xc3\xaf", - b"\xc3\xae", - b"\xc3\xac", - b"\xc3\x84", - b"\xc3\x85", - b"\xc3\x89", - b"\xc3\xa6", - b"\xc3\x86", - b"\xc3\xb4", - b"\xc3\xb6", - b"\xc3\xb2", - b"\xc3\xbb", - b"\xc3\xb9", - b"\xc3\xbf", - b"\xc3\x96", - b"\xc3\x9c", - b"\xc2\xa2", - b"\xc2\xa3", - b"\xc2\xa5", - b"\xc6\x92", - b"\xc3\xa1", - b"\xc3\xad", - b"\xc3\xb3", - b"\xc3\xba", - b"\xc3\xb1", - b"\xc3\x91", - b"\xc2\xaa", - b"\xc2\xba", - b"\xc2\xbf", - b"\xc2\xac", - b"\xc2\xbd", - b"\xc2\xbc", - b"\xc2\xa1", - b"\xc2\xab", - b"\xc2\xbb", - b"\xce\xb1", - b"\xc3\x9f", - b"\xce\x93", - b"\xcf\x80", - b"\xce\xa3", - b"\xcf\x83", - b"\xc2\xb5", - b"\xcf\x84", - b"\xce\xa6", - b"\xce\x98", - b"\xce\xa9", - b"\xce\xb4", - b"\xcf\x86", - b"\xce\xb5", - b"\xc2\xb1", - b"\xc3\xb7", - b"\xc2\xb0", - b"\xc2\xb7", - b"\xc2\xb2", - b"\xc2\xb6", - b"\xe2\x8c\x90", - b"\xe2\x82\xa7", - b"\xe2\x96\x91", - b"\xe2\x96\x92", - b"\xe2\x96\x93", - b"\xe2\x94\x82", - b"\xe2\x94\xa4", - b"\xe2\x95\xa1", - b"\xe2\x95\xa2", - b"\xe2\x95\x96", - b"\xe2\x95\x95", - b"\xe2\x95\xa3", - b"\xe2\x95\x91", - b"\xe2\x95\x97", - b"\xe2\x95\x9d", - b"\xe2\x95\x9c", - b"\xe2\x95\x9b", - b"\xe2\x94\x90", - b"\xe2\x94\x94", - b"\xe2\x94\xb4", - b"\xe2\x94\xac", - b"\xe2\x94\x9c", - b"\xe2\x94\x80", - b"\xe2\x94\xbc", - b"\xe2\x95\x9e", - b"\xe2\x95\x9f", - b"\xe2\x95\x9a", - b"\xe2\x95\x94", - b"\xe2\x95\xa9", - b"\xe2\x95\xa6", - b"\xe2\x95\xa0", - b"\xe2\x95\x90", - b"\xe2\x95\xac", - b"\xe2\x95\xa7", - b"\xe2\x95\xa8", - b"\xe2\x95\xa4", - b"\xe2\x95\xa7", - b"\xe2\x95\x99", - b"\xe2\x95\x98", - b"\xe2\x95\x92", - b"\xe2\x95\x93", - b"\xe2\x95\xab", - b"\xe2\x95\xaa", - b"\xe2\x94\x98", - b"\xe2\x94\x8c", - b"\xe2\x96\x88", - b"\xe2\x96\x84", - b"\xe2\x96\x8c", - b"\xe2\x96\x90", - b"\xe2\x96\x80", - b"\xe2\x88\x9e", - b"\xe2\x88\xa9", - b"\xe2\x89\xa1", - b"\xe2\x89\xa5", - b"\xe2\x89\xa4", - b"\xe2\x8c\xa0", - b"\xe2\x8c\xa1", - b"\xe2\x89\x88", - b"\xe2\x88\x99", - b"\xe2\x88\x9a", - b"\xe2\x81\xbf", - b"\xe2\x96\xa0", + b"!\0", + b"\"\0", + b"#\0", + b"$\0", + b"%\0", + b"&\0", + b"'\0", + b"(\0", + b")\0", + b"*\0", + b"+\0", + b",\0", + b"-\0", + b"~\0", + b".\0", + b"/\0", + b":\0", + b";\0", + b"<\0", + b"=\0", + b">\0", + b"?\0", + b"[\0", + b"\\\0", + b"]\0", + b"_\0", + b"{\0", + b"}\0", + b"A\0", + b"B\0", + b"C\0", + b"D\0", + b"E\0", + b"F\0", + b"G\0", + b"H\0", + b"I\0", + b"J\0", + b"K\0", + b"L\0", + b"M\0", + b"N\0", + b"O\0", + b"P\0", + b"Q\0", + b"R\0", + b"S\0", + b"T\0", + b"U\0", + b"V\0", + b"W\0", + b"X\0", + b"Y\0", + b"Z\0", + b"a\0", + b"b\0", + b"c\0", + b"d\0", + b"e\0", + b"f\0", + b"g\0", + b"h\0", + b"i\0", + b"j\0", + b"k\0", + b"l\0", + b"m\0", + b"n\0", + b"o\0", + b"p\0", + b"q\0", + b"r\0", + b"s\0", + b"t\0", + b"u\0", + b"v\0", + b"w\0", + b"x\0", + b"y\0", + b"z\0", + b"0\0", + b"1\0", + b"2\0", + b"3\0", + b"4\0", + b"5\0", + b"6\0", + b"7\0", + b"8\0", + b"9\0", + b"\xc3\x87\0", + b"\xc3\xbc\0", + b"\xc3\xa9\0", + b"\xc3\xa2\0", + b"\xc3\xa4\0", + b"\xc3\xa0\0", + b"\xc3\xa5\0", + b"\xc3\xa7\0", + b"\xc3\xaa\0", + b"\xc3\xab\0", + b"\xc3\xa8\0", + b"\xc3\xaf\0", + b"\xc3\xae\0", + b"\xc3\xac\0", + b"\xc3\x84\0", + b"\xc3\x85\0", + b"\xc3\x89\0", + b"\xc3\xa6\0", + b"\xc3\x86\0", + b"\xc3\xb4\0", + b"\xc3\xb6\0", + b"\xc3\xb2\0", + b"\xc3\xbb\0", + b"\xc3\xb9\0", + b"\xc3\xbf\0", + b"\xc3\x96\0", + b"\xc3\x9c\0", + b"\xc2\xa2\0", + b"\xc2\xa3\0", + b"\xc2\xa5\0", + b"\xc6\x92\0", + b"\xc3\xa1\0", + b"\xc3\xad\0", + b"\xc3\xb3\0", + b"\xc3\xba\0", + b"\xc3\xb1\0", + b"\xc3\x91\0", + b"\xc2\xaa\0", + b"\xc2\xba\0", + b"\xc2\xbf\0", + b"\xc2\xac\0", + b"\xc2\xbd\0", + b"\xc2\xbc\0", + b"\xc2\xa1\0", + b"\xc2\xab\0", + b"\xc2\xbb\0", + b"\xce\xb1\0", + b"\xc3\x9f\0", + b"\xce\x93\0", + b"\xcf\x80\0", + b"\xce\xa3\0", + b"\xcf\x83\0", + b"\xc2\xb5\0", + b"\xcf\x84\0", + b"\xce\xa6\0", + b"\xce\x98\0", + b"\xce\xa9\0", + b"\xce\xb4\0", + b"\xcf\x86\0", + b"\xce\xb5\0", + b"\xc2\xb1\0", + b"\xc3\xb7\0", + b"\xc2\xb0\0", + b"\xc2\xb7\0", + b"\xc2\xb2\0", + b"\xc2\xb6\0", + b"\xe2\x8c\x90\0", + b"\xe2\x82\xa7\0", + b"\xe2\x96\x91\0", + b"\xe2\x96\x92\0", + b"\xe2\x96\x93\0", + b"\xe2\x94\x82\0", + b"\xe2\x94\xa4\0", + b"\xe2\x95\xa1\0", + b"\xe2\x95\xa2\0", + b"\xe2\x95\x96\0", + b"\xe2\x95\x95\0", + b"\xe2\x95\xa3\0", + b"\xe2\x95\x91\0", + b"\xe2\x95\x97\0", + b"\xe2\x95\x9d\0", + b"\xe2\x95\x9c\0", + b"\xe2\x95\x9b\0", + b"\xe2\x94\x90\0", + b"\xe2\x94\x94\0", + b"\xe2\x94\xb4\0", + b"\xe2\x94\xac\0", + b"\xe2\x94\x9c\0", + b"\xe2\x94\x80\0", + b"\xe2\x94\xbc\0", + b"\xe2\x95\x9e\0", + b"\xe2\x95\x9f\0", + b"\xe2\x95\x9a\0", + b"\xe2\x95\x94\0", + b"\xe2\x95\xa9\0", + b"\xe2\x95\xa6\0", + b"\xe2\x95\xa0\0", + b"\xe2\x95\x90\0", + b"\xe2\x95\xac\0", + b"\xe2\x95\xa7\0", + b"\xe2\x95\xa8\0", + b"\xe2\x95\xa4\0", + b"\xe2\x95\xa7\0", + b"\xe2\x95\x99\0", + b"\xe2\x95\x98\0", + b"\xe2\x95\x92\0", + b"\xe2\x95\x93\0", + b"\xe2\x95\xab\0", + b"\xe2\x95\xaa\0", + b"\xe2\x94\x98\0", + b"\xe2\x94\x8c\0", + b"\xe2\x96\x88\0", + b"\xe2\x96\x84\0", + b"\xe2\x96\x8c\0", + b"\xe2\x96\x90\0", + b"\xe2\x96\x80\0", + b"\xe2\x88\x9e\0", + b"\xe2\x88\xa9\0", + b"\xe2\x89\xa1\0", + b"\xe2\x89\xa5\0", + b"\xe2\x89\xa4\0", + b"\xe2\x8c\xa0\0", + b"\xe2\x8c\xa1\0", + b"\xe2\x89\x88\0", + b"\xe2\x88\x99\0", + b"\xe2\x88\x9a\0", + b"\xe2\x81\xbf\0", + b"\xe2\x96\xa0\0", ];