2chにUnicodeを投稿するプログラムを作っています

C++Builder2009なのですが、UnicodeStringとかBytesOf()を
使ってもなぜかうまく行きません

何が悪いのでしょうか
(全部とかとかになります)

UnicodeString ustr = Edit1->Text, s;

Edit3->Text = ustr.Length();

for (int i = 1; i <= ustr.Length(); i++) {
s = ustr.SubString(i, 2);
Edit2->Text = Edit2->Text + AnsiString("&#")
+ AnsiString().printf("%u", static_cast<unsigned>(((char*)s.data())[2])) + " "
+ AnsiString().printf("%u", static_cast<unsigned>(((char*)s.data())[1])) + " "
+ AnsiString(";");
}