TStringStream *a=new TStringStream("",TEncoding::UTF8,true);
怎么分解呢
比如:
TStringStream *a=new TStringStream();
...
a->Encoding.......
uj5u.com熱心網友回復:
查Help,看看TStringStream這個類有哪些建構式和成員函式,第一個寫法是用建構式,一般只提供初始化,如果不提供成員函式,是因為初始化以后不能再改變。uj5u.com熱心網友回復:
建構式可以看Create函式,就是Delphi的建構式。uj5u.com熱心網友回復:
class PASCALIMPLEMENTATION TStringStream : public TBytesStream{
typedef TBytesStream inherited;
private:
System::Sysutils::TEncoding* FEncoding;
bool FOwnsEncoding;
System::UnicodeString __fastcall GetDataString(void);
public:
__fastcall TStringStream(void)/* overload */;
__fastcall TStringStream(const System::UnicodeString AString)/* overload */;
__fastcall TStringStream(const System::RawByteString AString)/* overload */;
__fastcall TStringStream(const System::UnicodeString AString, System::Sysutils::TEncoding* AEncoding, bool AOwnsEncoding)/* overload */;
__fastcall TStringStream(const System::UnicodeString AString, int ACodePage)/* overload */;
#ifndef _WIN64
__fastcall TStringStream(const System::DynamicArray<System::Byte> ABytes)/* overload */;
#else /* _WIN64 */
__fastcall TStringStream(const System::TArray__1<System::Byte> ABytes)/* overload */;
#endif /* _WIN64 */
__fastcall virtual ~TStringStream(void);
System::UnicodeString __fastcall ReadString(int Count);
void __fastcall WriteString(const System::UnicodeString AString);
__property System::UnicodeString DataString = {read=GetDataString};
__property System::Sysutils::TEncoding* Encoding = {read=FEncoding};
};
uj5u.com熱心網友回復:
__property System::Sysutils::TEncoding* Encoding = {read=FEncoding};Encoding 是一個屬性,只讀的。
uj5u.com熱心網友回復:
就是說,a->Encoding只能放在等號右邊。
uj5u.com熱心網友回復:
TMemoryStream *a=new TMemoryStream();....
NetHTTPClient1->Get("http://login.tq.cn/vip/",a->Encoding);
RichEdit1->Lines->Add(a->DataString);
我這樣寫不行,好多錯誤,請路過的前輩指正。
uj5u.com熱心網友回復:
TMemoryStream 有 Encoding 屬性?
uj5u.com熱心網友回復:
主要是會亂碼
uj5u.com熱心網友回復:
用TStringStream,而不是TMemoryStream。uj5u.com熱心網友回復:
TStringStream *a=new TStringStream();NetHTTPClient1->AcceptCharSet="utf-8";
NetHTTPClient1->AcceptEncoding="65001";
NetHTTPClient1->AcceptLanguage="zh-cn";
NetHTTPClient1->ContentType="text/html; charset=utf-8";
NetHTTPClient1->UserAgent="Embarcadero URL Client/1.0";
NetHTTPClient1->Get("http://login.tq.cn/vip/",a);
RichEdit1->Lines->Add(a->DataString);
這樣會出現區域亂碼不知道為啥
uj5u.com熱心網友回復:
你最早不是寫:TStringStream *a=new TStringStream("",TEncoding::UTF8,true);
uj5u.com熱心網友回復:
我就是想把TStringStream(...)里的引數分解出來。uj5u.com熱心網友回復:
我就是想把TStringStream(...)里的引數分解出來。
不同的建構式而已,能用就行了。
uj5u.com熱心網友回復:
哦,謝謝啊。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/12561.html
標籤:基礎類
