[C#] 關於 emoji 取得 length 問題,關於分別取出 .ToArray() 的問題
2021-10-21
最近因為專案的一些需求,需要用到 Emoji ,這東西在各平台渲染出來的都不一樣,我相信大家都知道這些事情就不多說了,主要是因為遇到一個問題,處理起來讓我意外,再加上混和中文或是英文的時候,就有一點點跟我想的不一樣 舉理來說 "許1d" 這字串,其中你覺的應該有幾個字呢?
我們來 寫 code 測試看看
後來我發現,其實沒有這麼簡單,因為你理解會是七個字,印出來卻是 11 ,至於原因,下面 reference 可以去找詳細原因,這邊我就是專心地貼解決方案就好了.
要如何拿到 我們理解的 7 個字
C# code:
再來一個問題就是,如果我要去得裡面的字呢? 習慣我會直接直接 .ToArray() ,但是這樣結果會變成
C# code:
這時候,要如何把他們列舉印出來
C# code:
主要就測試到這邊,因為跟我想像的有點不同,紀錄一下測試結果,有需要的話可以看下方連結,觀念解釋得很清楚,主要我這邊是用 asp + .net core 3.1 ,測試一下,順手有專案開著就用了沒有使用 console
result:
reference:
https://schneids.net/emojis-and-string-length
https://www.cnblogs.com/sdflysha/p/20191026-split-string-to-character-list.html