This section provides a quick introduction of JIS X0208 character code values. Each character has a code of 2 bytes: high byte is row number plus 32 and low byte is column number plus 32.
The native code value of each JIS X0208 character contains 2 bytes. The first byte is called the high byte,
containing the row number plus 32 (0x20); the second byte is called the low byte, containing the column number plus 32 (0x20).
For example, if a character is located at row 16 and column 1, its high byte will be 16 + 32 = 48 (0x30),
and log byte will be 1 + 32 = 33 (0x21). Put them together, its native code value will be 0x3021.
The reason to add 32 to each byte of the code value is that the resulting byte value can be represented by
a printable ASCII character, between 0x21 and 0x7f. In another word, the code value of any JIS X0208 character is a combination
of 2 printable ASCII characters.
Below is a picture showing the location area of JIS X0208 character code values on a 2-byte value map,
modified from http://lfw.org/text/jp.html: