For String encoding, you can find the info on the wiki of the ShumiTranslator tool done by HobbitDur which detail the following file (link is kept here to the old wiki for archive purpose):
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.
The full, up-to-date opcode map (including the recovered meanings of 0x07, 0x08, 0x0A, 0x0D and 0x0F) lives in FF8 Char - Control opcode overview. A summary follows.
| Starting byte | Size | Name | Description |
|---|---|---|---|
| 0x00 | 1 | NULL | End of string. |
| 0x01 | 1 | NewPage | Ends the page: wait for input, clear the window, show the next page. |
| 0x02 | 1 | \n | New line. Some areas ignore it. |
| 0x03 | 2 | Name | Inserts a character name (0x03 ??). |
| 0x04 | 2 | Var | Inserts a numeric variable from the active text layer. |
| 0x05 | 2 | Icon | Draws a symbol from icon.tex (controller buttons; on PC the assigned keyboard keys). |
| 0x06 | 2 | Color | Changes text color / blink. |
| 0x07 | 1 | NewPage (variant) | Page break; handled the same as 0x01. |
| 0x08 | 2 | (unused) | Reserved; consumes a param byte, no visible output. |
| 0x09 | 2 | Wait | Pause for N frames. |
| 0x0A | 2 | Value (context) | Inserts a number or string filled in by the active screen; meaning depends on the screen. |
| 0x0B | 2-3 | Cursor location | Cursor stop / choice position. 2 bytes for Yes/No, 3 bytes for multi-choice lists. |
| 0x0C | 2 | GF name | Inserts a Guardian Force name. |
| 0x0D | 2 | (unused) | Reserved; consumes a param byte, no visible output. |
| 0x0E | 2 | Location/Word | Inserts a location or generic (language-dependent) word. |
| 0x0F | 2 | (unused) | Reserved; consumes a param byte, no visible output. |
| 0x19-0x1F | 2 | Extended glyph | Japanese / extended two-byte glyph pages. |