2016-09-05 21 views
5

SwiftのStringバイトのサイズを計算しようとしていますが、文字サイズがわかりません。どのように多くのバイトが1つのコード化されますか?Swift文字列のバイト数を計算する

はのは、私は、文字列があるとしましょう: let str = "hello, world"

私は自分のサーバーにそれを送信したいが、私のサーバーは、32バイトの下に文字列を受け付けます。どのように私の弦の長さを制御できますか?

+2

あなたは[最大の長さにemojisを含む可能性があるNSStringをどのように短縮するのですか?](http://stackoverflow.com/q/31733100) –

+0

本当にありがとう! – Randy

答えて

6

それはすべてのは、UTF8と仮定してみましょう、文字エンコーディングに依存します:いないすべての文字がUTF8で同じバイトサイズを持っている

let string = "abde" 
let size = string.utf8.count 

注意を。 文字列がASCIIの場合、1文字あたり1バイトと見なすことができます。

+0

これはutf8 charの数を返しますが、それぞれ1〜2バイトでコード化されているため、文字列の実際のサイズはわかりません。 – Randy

+0

@Randyはい、それは文字列の実際のサイズを与えます。すべてのキャラクターのサイズが必要な場合は、各キャラクターのサイズを個別に尋ねます。 – Sulthan

+0

さて、私はそれを得る、ありがとう!私は8分で答えを受け入れるでしょう。 – Randy

関連する問題