私は一連の文字列を持つバイト配列を持っています。バイト配列のUnicodeの解析
[47] = 0x01
[48] = 0x03
[49] = 0x00
[50] = 0x00
[51] = 0x73
[52] = 0x65
[53] = 0xc3
[54] = 0xb1
[55] = 0x6f
[56] = 0x72
[57] = 0x00
[58] = 0x00
[59] = 0x00
[60] = 0x4f
[61] = 0x08
[62] = 0x00
[63] = 0x08
[64] = 0x00
[65] = 0x00
[66] = 0x04
[67] = 0x13
[68] = 0xff
[69] = 0xff
[70] = 0x00
[71] = 0x00
私は、文字列を持っていると信じて:1の場合では、私は31に
[28] = 0x6e
[29] = 0x61
[30] = 0x6d
[31] = 0x65
[32] = 0x00
[33] = 0x00
[34] = 0x00
[35] = 0x4f
[36] = 0x08
[37] = 0x00
[38] = 0x07
[39] = 0x00
[40] = 0x00
[41] = 0x04
[42] = 0x13
[43] = 0xff
[44] = 0xff
[45] = 0x00
[46] = 0x00
28は、そのセクションが続い素子32に終了すると、私は別のバイト配列を持つ文字「name」を持っていseñor
。
最初の配列では、00
を最初の4バイトとして名前を見つけるのは簡単ですが、2番目のバイト配列で何を解読するのですか?
両方のアレイは、vector<char>
です。
[UTF-8](https://en.wikipedia.org/wiki/UTF-8)エンコーディングを使用しているようです。 –
ユニコードとは? UTF16、UTF8? BTW C++ 11以降にはutf16のリテラルがあるので、何かを解析する必要はありません。バイト28-31が 'name'の場合、おそらくUTF8を使用します。いずれにせよ、C++ *のUTF8文字列は* std :: stringです –
@PanagiotisKanavos - 名前が2バイト目の配列でどこで終わるかを知る方法は? – ruipacheco