如何正确解析Http 请求返回流,变成字符串

披着虎皮的石头 2013-07-16 02:54:41

如何正确解析Http 请求返回流,变成字符串。
是返回京东api接口的http返回流,结果是返回值中有中文,返回的乱码。
如何编程,在把流变成字符串时,返回正确字符串。


Function StreamToStr(MyStream :TStream) :String; //把流对象变成string
var str :String; len :Integer;
begin
Result :='';
if MyStream =nil then exit;

try
len :=MyStream.Size;
SetLength(str, len);
MyStream.Position :=0;

MyStream.ReadBuffer(str[1], len);
Result :=Str;
finally
MyStream.Free;
end;
end;


上述代码返回的值:
'Keep-alive'#0#0'????X'#3#0#0'zh_desc":"鎺堟潈鑰呬笉鏄晢瀹?,"en_desc":"the franchisor not businessmen"}}

通过在浏览器中,输入Url返回的值:
{"error_response":{"code":"22","zh_desc":"授权者不是商家","en_desc":"the franchisor not businessmen"}}
...全文
701 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
'{"error_response":{"code":"22","zh_desc":"授权者不是商家","en_desc":"the franchisor not businessmen"}}' 专业路过,对的,加UTF8Decode Utf_8反编码后,就得到上面正确结果。
  • 打赏
  • 举报
回复
sololie 2013-07-16
返回的字符串并非不正确,只是你没使用正确的编码。 用UTF8Decode转换一下
  • 打赏
  • 举报
回复
hsfzxjy 2013-07-16
你是读到HTTP头部了吧。。
  • 打赏
  • 举报
回复
相关推荐
发帖
Delphi

5124

社区成员

Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
帖子事件
创建了帖子
2013-07-16 02:54
社区公告
暂无公告