你發現社群媒體市場在極短貼文這塊有個缺口。 既然 Twitter 現在允許 280 個字元的貼文,那些想要快速更新社群動態的人反而沒被服務到。 你決定打造自己的社群媒體網路。
為了讓你的產品與眾不同,你把它做到極端:只允許 5 個字元以內的貼文。 任何超過 5 個字元的貼文都應該截斷成 5 個字元。
為了讓使用者能充分表達自己,你允許 Emoji 和其他 Unicode 字元。
你的任務是把輸入字串截斷成 5 個字元。
以數位形式儲存的文字必須轉換成一連串的位元組。 目前常見的字元對應到位元組的方式有 3 種。
UTF-8 和 UTF-16 都是 Unicode 編碼,這表示它們能夠表示非常多種字元,包括:
UTF-8 和 UTF-16 都是可變長度編碼,這表示不同的字元佔用的空間大小也不同。
來看看字母「a」和 Emoji「😛」。 在 UTF-16 中,字母佔 2 位元組,但這個 Emoji 佔 4 位元組。
這道練習的訣竅,在於使用以 Unicode 字元(碼點)為核心設計的 API,而不是以 Unicode 碼元為核心的 API。