Усечение Юникода, чтобы он соответствовал максимальному размеру при кодировании для банковского перевода
Учитывая строку Unicode и эти требования:
Строка должна быть закодирована в некоторый формат последовательности байтов (например, UTF-8 или экранирование Юникода JSON)Закодированная строка имеет максимальную длинуНапример, push-сервис iPhone требует кодирования JSON с максимальным общим размером пакета 256 байтов.
Каков наилучший способ обрезать строку, чтобы она перекодировалась в действительный Unicode и чтобы она отображалась достаточно корректно?
(Понимание человеческого языка не требуется - усеченная версия может выглядеть странно, например, для объединенного символа-сироты или тайского гласного, только если программное обеспечение не дает сбоя при обработке данных.)
Смотрите также:
Связанный вопрос Java:Как мне обрезать строку Java, чтобы она соответствовала заданному числу байтов после кодирования UTF-8?Связанный вопрос Javascript:Использование JavaScript для усечения текста до определенного размера