Различить ширину колонки, символы и байты

Ответы получены от MySQL через X Protocol. Созданные программой учебные объекты после чтения удалены.

Наблюдаемый результат программы
НаблюдениеРезультат
Значение CHAR(5)AB
Значение VARCHAR(12)Кот🙂
Ширина metadata CHAR(5)20
Ширина metadata VARCHAR(12)48
Символов в текущем label4
Байтов в текущем label10
Набор символовutf8mb4
Правило сравненияutf8mb4_bin
CHAR: isPaddedда
VARCHAR: isPaddedнет
Строки и дополнительные наблюдения
{
    "metadata": [
        {
            "class": "mysql_xdevapi\\ColumnResult",
            "label": "code",
            "name": "code",
            "table_label": "mysql142_text_width_663b7496145e",
            "table_name": "mysql142_text_width_663b7496145e",
            "schema": "php_manual_x139",
            "type": 21,
            "length": 20,
            "fractional_digits": 0,
            "signed": false,
            "padded": true,
            "charset": "utf8mb4",
            "collation": "utf8mb4_bin"
        },
        {
            "class": "mysql_xdevapi\\ColumnResult",
            "label": "label",
            "name": "label",
            "table_label": "mysql142_text_width_663b7496145e",
            "table_name": "mysql142_text_width_663b7496145e",
            "schema": "php_manual_x139",
            "type": 21,
            "length": 48,
            "fractional_digits": 0,
            "signed": false,
            "padded": false,
            "charset": "utf8mb4",
            "collation": "utf8mb4_bin"
        },
        {
            "class": "mysql_xdevapi\\ColumnResult",
            "label": "characters",
            "name": "",
            "table_label": "",
            "table_name": "",
            "schema": "",
            "type": 19,
            "length": 10,
            "fractional_digits": 0,
            "signed": true,
            "padded": false,
            "charset": null,
            "collation": null
        },
        {
            "class": "mysql_xdevapi\\ColumnResult",
            "label": "bytes",
            "name": "",
            "table_label": "",
            "table_name": "",
            "schema": "",
            "type": 19,
            "length": 10,
            "fractional_digits": 0,
            "signed": true,
            "padded": false,
            "charset": null,
            "collation": null
        }
    ],
    "row": {
        "code": "AB",
        "label": "Кот🙂",
        "characters": 4,
        "bytes": 10
    },
    "declared_characters": {
        "code": 5,
        "label": 12
    },
    "php_bytes": 10,
    "type_constant_bytes": 21
}

Полный JSON результата, включая реальные идентификаторы, сохранён рядом в result.json.