颤振/飞镖解码HttpClientResponse
我试图在Flutter中读取http响应的主体,但不知道我做错了什么 在我的代码中,我试图做到:颤振/飞镖解码HttpClientResponse,http,flutter,asynchronous,dart,utf-8,Http,Flutter,Asynchronous,Dart,Utf 8,我试图在Flutter中读取http响应的主体,但不知道我做错了什么 在我的代码中,我试图做到: 静态未来getBody(HttpClientResponse响应)异步{ return wait response.transform(utf8.decoder).join(“”); } 没有转换,我得到一个数字数组。 但当我使用转换运行它时,我得到: [ERROR:flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: Forma
静态未来getBody(HttpClientResponse响应)异步{
return wait response.transform(utf8.decoder).join(“”);
}
没有转换,我得到一个数字数组。
但当我使用转换运行它时,我得到:
[ERROR:flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception:
FormatException: Missing extension byte (at offset 25) E/flutter (
8628): #0 _Utf8Decoder.convertChunked
(dart:convert-patch/convert_patch.dart:1887:7) E/flutter ( 8628): #1
_Utf8ConversionSink.addSlice (dart:convert/string_conversion.dart:314:28) E/flutter ( 8628): #2
_Utf8ConversionSink.add (dart:convert/string_conversion.dart:310:5) E/flutter ( 8628): #3 _ConverterStreamEventSink.add
(dart:convert/chunked_conversion.dart:72:18) E/flutter ( 8628): #4
_SinkTransformerStreamSubscription._handleData (dart:async/stream_transformers.dart:121:24) E/flutter ( 8628): #5
_rootRunUnary (dart:async/zone.dart:1198:47) E/flutter ( 8628): #6 _CustomZone.runUnary (dart:async/zone.dart:1100:19) E/flutter ( 8628): #7 _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005:7) E/flutter ( 8628): #8 _BufferingStreamSubscription._sendData
(dart:async/stream_impl.dart:357:11) E/flutter ( 8628): #9
_BufferingStreamSubscription._add (dart:async/stream_impl.dart:285:7) E/flutter ( 8628): #10 _ForwardingStreamSubscription._add
(dart:async/stream_pipe.dart:127:11) E/flutter ( 8628): #11
_HandleErrorStream._handleData (dart:async/stream_pipe.dart:266:10) E/flutter ( 8628): #12 _ForwardingStreamSubscription._handleData
(dart:async/stream_pipe.dart:157:13) E/flutter ( 8628): #13
_rootRunUnary (dart:async/zone.dart:1198:47) E/flutter ( 8628): #14 _CustomZone.runUnary (dart:async/zone.dart:1100:19) E/flutter ( 8628): #15 _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005:7) E/flutter ( 8628): #16 _BufferingStreamSubscription._sendData
(dart:async/stream_impl.dart:357:11) E/flutter ( 8628): #17
_DelayedData.perform (dart:async/stream_impl.dart:611:14) E/flutter ( 8628): #18 _StreamImplEvents.handleNext
(dart:async/stream_impl.dart:730:11) E/flutter ( 8628): #19
_PendingEvents.schedule.<anonymous closure> (dart:async/stream_impl.dart:687:7) E/flutter ( 8628): #20
_rootRun (dart:async/zone.dart:1182:47) E/flutter ( 8628): #21 _CustomZone.run (dart:async/zone.dart:1093:19) E/flutter ( 8628): #22 _CustomZone.runGuarded (dart:async/zone.dart:997:7) E/flutter ( 8628): #23 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1037:23) E/flutter ( 8628): #24 _rootRun
(dart:async/zone.dart:1190:13) E/flutter ( 8628): #25
_CustomZone.run (dart:async/zone.dart:1093:19) E/flutter ( 8628): #26 _CustomZone.runGuarded (dart:async/zone.dart:997:7) E/flutter ( 8628): #27 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1037:23) E/flutter ( 8628): #28
_microtaskLoop (dart:async/schedule_microtask.dart:41:21) E/flutter ( 8628): #29 _startMicrotaskLoop
(dart:async/schedule_microtask.dart:50:5)
[错误:flatter/lib/ui/ui\u dart\u state.cc(166)]未处理的异常:
FormatException:缺少扩展字节(偏移量25处)E/颤振(
8628):#0 Utf8Decoder.convertChunked
(省道:转换补丁/转换补丁。省道:1887:7)E/颤振(8628):#1
_Utf8ConversionSink.addSlice(dart:conversion/string_conversion.dart:314:28)E/flatter(8628):#2
_Utf8ConversionSink.add(dart:conversion/string_conversion.dart:310:5)E/flatter(8628):#3_conversiterstreameventsink.add
(省道:转换/分块转换。省道:72:18)E/颤振(8628):#4
_SinkTransformerStreamSubscription._handleData(dart:async/stream_transformers.dart:121:24)E/Flatter(8628):#5
_rootRunUnary(dart:async/zone.dart:1198:47)E/flatter(8628):#6_CustomZone.runUnary(dart:async/zone.dart:1100:19)E/flatter(8628):#7_CustomZone.runUnaryGuarded(dart:async/zone.dart:1005:7)E/flatter(8628):#8_BufferingStreamSubscription.#发送数据
(dart:async/stream\u impl.dart:357:11)E/flatter(8628):#9
_BufferingStreamSubscription.\u添加(dart:async/stream\u impl.dart:285:7)E/flatter(8628):\uForwardingStreamSubscription.\u添加
(dart:async/stream_pipe.dart:127:11)E/flatter(8628):#11
_HandleErrorStream._handleData(dart:async/stream_pipe.dart:266:10)E/Flatter(8628):#12 _ForwardingStreams订阅。_handleData
(dart:async/stream_pipe.dart:157:13)E/flatter(8628):#13
_rootRunUnary(dart:async/zone.dart:1198:47)E/flatter(8628):#14 CustomZone.runUnary(dart:async/zone.dart:1100:19)E/flatter(8628):#15 CustomZone.runUnaryGuarded(dart:async/zone.dart:1005:7)E/flatter(8628):#16 BufferingStreamSubscription.#发送数据
(dart:async/stream#impl.dart:357:11)E/颤振(8628):#17
_DelayedData.perform(dart:async/stream_impl.dart:611:14)E/flutter(8628):#18 _StreamImplEvents.handleNext
(dart:async/stream_impl.dart:730:11)E/颤振(8628):#19
_等待事件。时间表。(dart:async/stream_impl.dart:687:7)E/颤振(8628):#20
_rootRun(dart:async/zone.dart:1182:47)E/flatter(8628):#21 CustomZone.run(dart:async/zone.dart:1093:19)E/flatter(8628):#22 CustomZone.runguard(dart:async/zone.dart:997:7)E/flatter(8628):#23 CustomZone.bindcallbackguard。(dart:async/zone.dart:1037:23)E/flatter(8628):#24 rootRun
(省道:异步/区域。省道:1190:13)E/颤振(8628):#25
_CustomZone.run(dart:async/zone.dart:1093:19)E/flatter(8628):#26 CustomZone.runguard(dart:async/zone.dart:997:7)E/flatter(8628):#27 CustomZone.bindcallbackguard。(dart:async/zone.dart:1037:23)E/颤振(8628):#28
_microtaskLoop(dart:async/schedule_microtask.dart:41:21)E/Flatter(8628):#29_startMicrotaskLoop
(dart:async/schedule_microtask.dart:50:5)
我正在使用内部dart:io包的最新版本。显然服务器的响应不是有效的utf8。您是否期望它是?显然服务器的响应不是有效的utf8。你以为会这样吗?