Korean character encoding (Generation II)

Character map

All control characters print characters that are two tiles high. (A single character's width is always one tile. A "tile" is an 8x8 pixel square; for comparison, the player occupies a 2x2-tile square.)

Those characters marked with two asterisks (**) are the first byte of two-byte characters (detailed below), which primarily print Korean characters. Those marked with a single asterisk are control characters which are explained below.

The character map also contains some tiles that contain bits and pieces of Korean characters.

-0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F
0- ************************FGHI
1- JKLMNOPQRSTUV**
2- Z() :wxyzKoreanÄÖ
3- Üäö***** KoreanZ()
4-  : Korean**********
5- ****************
6- DEFGHIVSLM:
7- POKétext box borders 
8- ABCDEFGHIJKLMNOP
9- QRSTUVWXYZ():;[]
A- abcdefghijklmnop
B- qrstuvwxyzKorean
C- Ä Ö Ü ä ö ü   Korean
D- 'd'l'm'r's't'v   Korean
E- 'PKMN-  ?!.&é 
F- ×./,0123456789

Control characters

CharacterFunction
0x1EA "half" line break (moves the print position to the place one tile below the start of the current line).
0x1FPrints ᆨtzx (mojibake for こうげき attack; appears to be a leftover from the English version code).
0x33Prints POKé.
0x34Nothing
0x35Nothing
0x36Nothing
0x37Nothing
0x46Prints PKMN.
0x47Prints 포켓몬 (Pokémon).
0x48Prints ⋯⋯.
0x49Prints 컴퓨터 (PC).
0x4APrints 기술머신 (TM).
0x4BPrints 로켓단 (Team Rocket).
0x4C? (May break)
0x4DPrints 레드 (Red).
0x4EPrints 그린 (Blue).
0x4FPrints the opposing Trainer's name (including their Trainer class). (Outside of battle, this may not terminate properly.)
0x50String terminator.
0x51Prints the player's name.
0x52Prints the rival's name.
0x53Prints the inactive Pokémon's name.
0x54Active Pokémon's name?
0x55Prints 트레이너 (Trainer).
0x56Prompts the player to press a button, after which the top line of the text window is replaced by the bottom, the bottom line is cleared, and the print position moves to the start of the bottom line.
0x57Shifts text in the dialogue box up a line (so the top line is “lost”) without a prompt or a pause.
0x58Prints PK.
0x59Same as 0x5A?
0x5ADialogue line break (moves the print position to the expected start of the second line in a standard dialogue box).
0x5BPrints 어머니 (Mom).
0x5CPrompts the player to press a button, after which the text window is cleared to make way for the following text.
0x5DPrompts the player to press a button, after which the top line of the text window is replaced by the bottom, the bottom line is cleared, and the print position moves to the start of the bottom line.
0x5EMarks the end of dialogue, with no visual prompt to the player.
0x5FMarks the end of dialogue, with a visual prompt to the player.

Two-byte characters

If the game tries to read a character and the byte read matches any of the following values (as seen in the section headers), then the game must also read the next byte in order to determine what character to print. The tables in each section describe which character is printed depending on the value of the second byte.

Many byte pairs will print an empty space, but most are unused. In most dialogue, 0x7F is used to display a space, while in user-input strings, 0B FF is inserted when the player uses a space. (This seems to be because the game requires that all user-input strings use pairs of bytes; if they didn't, the "maximum" length could vary significantly.) Similarly, while byte pairs starting with 0x00 and 0x0B have identical outputs, the game only naturally uses 0x0B pairs.

For the most part, the Korean characters appear in a consistent order based on their makeup (their initial, medial, and final consonants/vowels). There are some exceptions, however (such as 쓔 and 쓩).

0x00

-0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F
0-
1-
2-
3- _-
4-
5-
6- ()!?-~・・・,.
7-
8-
9-
A-
B-
C-
D-
E-
F- 0123456789

0x01

-0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F
0-
1-
2-
3-
4-
5-
6-
7-
8-
9- 굿
A- 귿
B-
C-
D-
E-
F- 꼿

0x02

-0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F
0-
1- 뀀
2-
3-
4-
5-
6-
7-
8-
9-
A-
B-
C-
D-
E-
F-

0x03

-0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F
0-
1-
2-
3-
4-
5-
6-
7-
8-
9-
A-
B-
C-
D-
E-
F-

0x04

-0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F
0-
1-
2-
3-
4- 릿
5-
6-
7-
8-
9-
A-
B-
C- 믿
D-
E-
F-

0x05

-0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F
0-
1-
2-
3-
4-
5-
6-
7-
8-
9-
A-
B-
C-
D-
E-
F-

0x06

-0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F
0-
1-
2-
3-
4-
5-
6-
7-
8-
9-
A-
B-
C-
D-
E-
F-

0x07

-0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F
0-
1-
2-
3-
4-
5-
6-
7-
8-
9-
A-
B-
C-
D-
E-
F-

0x08

-0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F
0-
1-
2-
3-
4-
5-
6-
7-
8-
9-
A-
B-
C-
D-
E-
F-

0x09

-0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F
0-
1-
2-
3-
4-
5-
6- 퀀
7-
8-
9-
A-
B-
C-
D-
E-
F-

0x0A

-0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F
0-
1-
2-
3-
4-
5-
6-
7-
8-
9-
A-
B-
C-
D-
E-
F-

0x0B

-0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F
0-
1-
2-
3- _-
4-
5-
6- ()!?-~・・・,.
7-
8-
9-
A-
B-
C-
D-
E-
F- 0123456789


Data structure in the Pokémon games
Generation I Pokémon speciesPokémonPoké MartCharacter encodingSave
Generation II Pokémon speciesPokémonTrainerCharacter encodingSave
Generation III Pokémon species (Pokémon evolutionPokédexType chart)
Pokémon (substructures) • MoveContestContest moveItem
Trainer TowerBattle FrontierCharacter encodingSave
Generation IV PokémonSave
TCG GB and GB2 Character encoding


This data structure article is part of Project Games, a Bulbapedia project that aims to write comprehensive articles on the Pokémon games.
This article is issued from Bulbagarden. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.