動作環境
C++ Builder XE4
TCP/IP通信をIndyで行おうとしていて、TByteDynArrayをString型に変換する必要があった。
以下に変換方法を見つけた。
やり取りの詳細は言語(ロシア語)が分からないため不明であるが、コードで行っていることは理解した。
実際に実装したコードは以下。
Unit1.cpp
...
TByteDynArray byteArray;
IdTCPClient1->Socket->ReadBytes(byteArray, len);
String str = TEncoding::GetEncoding(932)->GetString(byteArray);
...
932のコードはSJIS。
strに文字列を取得できた。
関連 http://qiita.com/7of9/items/5a2e979961b4b01b2701
上記の処理の場合、byteArrayの途中に0x00
が入っていると、そこまでの読込みしか