如何正确解析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"}}
...全文
987 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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头部了吧。。

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧