История изменений
Исправление monk, (текущая версия) :
результирующего текста. да
Теряется информация. Вот пример из упомянутого HProse:
String type represents unicode character string or array encoded in UTF8.
The max length of string is 2147483647.
The length is the number of neither bytes nor unicode codepoints.
It is the number of 16-bit unicode characters.
Что за «16-bit unicode characters»? Если понимать буквально, то это количество символов, представленных в UTF8 ровно двумя байтами. Или у которых номер символа не более 65536. Интуитивно читатель предположит, что это половина длины строки в байтах.
Идём в китайский оригинал:
字符串的最大长度为 2147483647。
该长度既非字节数,也非 Unicode 代码点个数。
它表示的是 16 位的 Unicode(UTF-16 编码)的字符个数。
Отсюда очевидно следует, что 2147483647 — максимальное количество слов при представлении строки в кодировке UTF-16. Но китайцу трудно было изложить эту мысль по-английски и часть информации была безвозвратно утеряна.
А если бы это был не трудолюбивый китаец. то описание вообще могло сократится до: «String type represents unicode character string or array encoded in UTF8. The max length of string is 2147483647 16-bit characters».
Исправление monk, :
результирующего текста. да
Теряется информация. Вот пример из упомянутого HProse:
String type represents unicode character string or array encoded in UTF8.
The max length of string is 2147483647.
The length is the number of neither bytes
nor unicode codepoints. It is the number of 16-bit unicode characters.
Что за «16-bit unicode characters»? Если понимать буквально, то это количество символов, представленных в UTF8 ровно двумя байтами. Или у которых номер символа не более 65536. Интуитивно читатель предположит, что это половина длины строки в байтах.
Идём в китайский оригинал:
字符串的最大长度为 2147483647。
该长度既非字节数,也非 Unicode 代码点个数。
它表示的是 16 位的 Unicode(UTF-16 编码)的字符个数。
Отсюда очевидно следует, что 2147483647 — максимальное количество слов при представлении строки в кодировке UTF-16. Но китайцу трудно было изложить эту мысль по-английски и часть информации была безвозвратно утеряна.
А если бы это был не трудолюбивый китаец. то описание вообще могло сократится до: «String type represents unicode character string or array encoded in UTF8. The max length of string is 2147483647 16-bit characters».
Исходная версия monk, :
результирующего текста. да
Теряется информация. Вот пример из упомянутого HProse:
String type represents unicode character string or array encoded in UTF8.
The max length of string is 2147483647. The length is the number of neither bytes nor unicode codepoints. It is the number of 16-bit unicode characters.
Что за «16-bit unicode characters»? Если понимать буквально, то это количество символов, представленных в UTF8 ровно двумя байтами. Или у которых номер символа не более 65536. Интуитивно читатель предположит, что это половина длины строки в байтах.
Идём в китайский оригинал:
字符串的最大长度为 2147483647。该长度既非字节数,也非 Unicode 代码点个数。它表示的是 16 位的 Unicode(UTF-16 编码)的字符个数。
Отсюда очевидно следует, что 2147483647 — максимальное количество слов при представлении строки в кодировке UTF-16. Но китайцу трудно было изложить эту мысль по-английски и часть информации была безвозвратно утеряна.
А если бы это был не трудолюбивый китаец. то описание вообще могло сократится до: «String type represents unicode character string or array encoded in UTF8. The max length of string is 2147483647 16-bit characters».