Hibernate HQL - извлечение соединения, не рекурсивное извлечение

(Обратите внимание, что я использую некоторые из этих терминов свободно / разговорно для более простого объяснения, которое по-прежнему попадает в ключевые моменты.)

Байт может содержать только 256 различных значений, составляющих 8 бит.

Поскольку в наборе символов есть наборы символов, содержащие более 256 символов, в общем случае нельзя сказать, что каждый символ является байтом.

Следовательно, должны быть отображения, описывающие, как превратите каждый символ в набор символов в последовательность байтов. Некоторые символы могут быть сопоставлены одному байту, но другие должны быть сопоставлены с несколькими байтами.

Эти сопоставления являются кодировками, потому что они сообщают вам, как кодировать символы в последовательности байтов.

Что касается Unicode, на очень высоком уровне Unicode является попыткой присвоить каждому уникальному номеру уникальный номер. Очевидно, что это число должно быть чем-то большим, чем байт, так как имеется более 256 символов :) Java использует версию Unicode, где каждому символу назначается 16-битное значение (и поэтому символы Java имеют ширину 16 бит и имеют целочисленные значения от 0 до 65535). Когда вы получаете представление байта символа Java, вы должны указать JVM кодировку, которую вы хотите использовать, чтобы она знала, как выбрать последовательность байтов для символа.

13
задан Sotirios Delimanolis 24 August 2018 в 04:34
поделиться