Усечение Юникода, чтобы он соответствовал максимальному размеру при кодировании для банковского перевода

Учитывая строку Unicode и эти требования:

Строка должна быть закодирована в некоторый формат последовательности байтов (например, UTF-8 или экранирование Юникода JSON)Закодированная строка имеет максимальную длину

Например, push-сервис iPhone требует кодирования JSON с максимальным общим размером пакета 256 байтов.

Каков наилучший способ обрезать строку, чтобы она перекодировалась в действительный Unicode и чтобы она отображалась достаточно корректно?

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

Смотрите также:

Связанный вопрос Java:Как мне обрезать строку Java, чтобы она соответствовала заданному числу байтов после кодирования UTF-8?Связанный вопрос Javascript:Использование JavaScript для усечения текста до определенного размера

Ответы на вопрос(5)

Ваш ответ на вопрос