Предотвращение неправильного слияния

Использование Base64, которое я собираюсь описать здесь, несколько взломан. Итак, если вам не нравятся хаки, пожалуйста, не продолжайте.

У меня возникли проблемы, когда я обнаружил, что utf8 MySQL не поддерживает 4-байтные символы юникода, так как он использует 3-байтовую версию utf8 , Итак, что я сделал, чтобы поддерживать полный 4-байтовый юникод над utf8 MySQL? Ну, base64 кодирует строки при сохранении в базе данных и декодере base64 при извлечении.

Так как кодировка и декодирование base64 очень быстрая, это отлично работает.

У вас есть следующие пункты: обратите внимание:

  • Кодировка Base64 использует на 33% больше памяти
  • Строки, хранящиеся в базе данных, не будут доступны для чтения на людях (вы могли бы продать это как функцию, в которой строки базы данных используют базовая форма шифрования).

Вы можете использовать вышеуказанный метод для любого механизма хранения, который не поддерживает unicode.

0
задан jonrsharpe 15 January 2019 в 19:23
поделиться