daily pastebin goal
61%
SHARE
TWEET

Rust UTF -> CP 437 u8 byte

a guest Feb 1st, 2019 53 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // converts an extended ascii character into the equivalent cp437 byte.
  2.     // e.g: Ç -> 0x80 as a u8
  3.     fn convert_ext_ascii_char_to_cp437_byte(&mut self, chr: char) -> u8 {
  4.         match chr {
  5.             'Ç' => return 0x80,
  6.             'ü' => return 0x81,
  7.             'é' => return 0x82,
  8.             'â' => return 0x83,
  9.             'ä' => return 0x84,
  10.             'à' => return 0x85,
  11.             'å' => return 0x86,
  12.             'ç' => return 0x87,
  13.             'ê' => return 0x88,
  14.             'ë' => return 0x89,
  15.             'è' => return 0x8a,
  16.             'ï' => return 0x8b,
  17.             'î' => return 0x8c,
  18.             'ì' => return 0x8d,
  19.             'Ä' => return 0x8e,
  20.             'Å' => return 0x8f,
  21.             'É' => return 0x90,
  22.             'æ' => return 0x91,
  23.             'Æ' => return 0x92,
  24.             'ô' => return 0x93,
  25.             'ö' => return 0x94,
  26.             'ò' => return 0x95,
  27.             'û' => return 0x96,
  28.             'ù' => return 0x97,
  29.             'ÿ' => return 0x98,
  30.             'Ö' => return 0x99,
  31.             'Ü' => return 0x9a,
  32.             '¢' => return 0x9b,
  33.             '£' => return 0x9c,
  34.             '¥' => return 0x9d,
  35.             '₧' => return 0x9e,
  36.             'ƒ' => return 0x9f,
  37.             'á' => return 0xa0,
  38.             'í' => return 0xa1,
  39.             'ó' => return 0xa2,
  40.             'ú' => return 0xa3,
  41.             'ñ' => return 0xa4,
  42.             'Ñ' => return 0xa5,
  43.             'ª' => return 0xa6,
  44.             'º' => return 0xa7,
  45.             '¿' => return 0xa8,
  46.             '⌐' => return 0xa9,
  47.             '¬' => return 0xaa,
  48.             '½' => return 0xab,
  49.             '¼' => return 0xac,
  50.             '¡' => return 0xad,
  51.             '«' => return 0xae,
  52.             '»' => return 0xaf,
  53.             '░' => return 0xb0,
  54.             '▒' => return 0xb1,
  55.             '▓' => return 0xb2,
  56.             '│' => return 0xb3,
  57.             '┤' => return 0xb4,
  58.             '╡' => return 0xb5,
  59.             '╢' => return 0xb6,
  60.             '╖' => return 0xb7,
  61.             '╕' => return 0xb8,
  62.             '╣' => return 0xb9,
  63.             '║' => return 0xba,
  64.             '╗' => return 0xbb,
  65.             '╝' => return 0xbc,
  66.             '╜' => return 0xbd,
  67.             '╛' => return 0xbe,
  68.             '┐' => return 0xbf,
  69.             '└' => return 0xc0,
  70.             '┴' => return 0xc1,
  71.             '┬' => return 0xc2,
  72.             '├' => return 0xc3,
  73.             '─' => return 0xc4,
  74.             '┼' => return 0xc5,
  75.             '╞' => return 0xc6,
  76.             '╟' => return 0xc7,
  77.             '╚' => return 0xc8,
  78.             '╔' => return 0xc9,
  79.             '╩' => return 0xca,
  80.             '╦' => return 0xcb,
  81.             '╠' => return 0xcc,
  82.             '═' => return 0xcd,
  83.             '╬' => return 0xce,
  84.             '╧' => return 0xcf,
  85.             '╨' => return 0xd0,
  86.             '╤' => return 0xd1,
  87.             '╥' => return 0xd2,
  88.             '╙' => return 0xd3,
  89.             '╘' => return 0xd4,
  90.             '╒' => return 0xd5,
  91.             '╓' => return 0xd6,
  92.             '╫' => return 0xd7,
  93.             '╪' => return 0xd8,
  94.             '┘' => return 0xd9,
  95.             '┌' => return 0xda,
  96.             '█' => return 0xdb,
  97.             '▄' => return 0xdc,
  98.             '▌' => return 0xdd,
  99.             '▐' => return 0xde,
  100.             '▀' => return 0xdf,
  101.             'α' => return 0xe0,
  102.             'ß' => return 0xe1,
  103.             'Γ' => return 0xe2,
  104.             'π' => return 0xe3,
  105.             'Σ' => return 0xe4,
  106.             'σ' => return 0xe5,
  107.             'µ' => return 0xe6,
  108.             'τ' => return 0xe7,
  109.             'Φ' => return 0xe8,
  110.             'Θ' => return 0xe9,
  111.             'Ω' => return 0xea,
  112.             'δ' => return 0xeb,
  113.             '∞' => return 0xec,
  114.             'φ' => return 0xed,
  115.             'ε' => return 0xee,
  116.             '∩' => return 0xef,
  117.             '≡' => return 0xf0,
  118.             '±' => return 0xf1,
  119.             '≥' => return 0xf2,
  120.             '≤' => return 0xf3,
  121.             '⌠' => return 0xf4,
  122.             '⌡' => return 0xf5,
  123.             '÷' => return 0xf6,
  124.             '≈' => return 0xf7,
  125.             '°' => return 0xf8,
  126.             '∙' => return 0xf9,
  127.             '·' => return 0xfa,
  128.             '√' => return 0xfb,
  129.             'ⁿ' => return 0xfc,
  130.             '²' => return 0xfd,
  131.             '■' => return 0xfe,
  132.             _ => return self.unknown_char_byte, // unknown char results in an unknown character symbol being returned
  133.         }
  134.     }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top