String Encoding

FF8 strings are converted to byte arrays.Char Table Some of which aligns to the grid of text in the texture if you -32 from the value. Some values are 1 byte = 2 characters, most are 1 byte = 1 character. There are also special bytes that use up 1-3 bytes.

Special Bytes

These bytes are points where things are inserted or a change in formatting. Some just say to ignore this string unless the player unlocked something.

Starting Byte

Size

Name

Description

0x00

1

NULL

End of string

0x02

1

\n

Inserts new line Some areas ignore this character.

0x03

2

Name

When see 0x03??, in a string, it's usually a characters name.

0x05

2

Icon

0x05?? used to draw a symbol from icons.tex, like controller buttons. On PC it draws the letter of keyboard keys assigned to the controls.

0x06

2

Color

0x06?? used to show a change in formatting like color

0x0A

2

Special_Value

0x0A?? can be a string or number value. Depending on which string you are reading it can be a different value.

0x0B

2 or 3

Cursor_Locations

Might be number of possible return values that determine whether this is 3 or 2 bytes. Like YES or NO questions will only be 2 bytes
but screens with a list of multiple selections will will use 3 bytes.

0x0C

2

SpellID

Used to place a name of a spell.