瀏覽代碼

Fix incorrect UTF-8 data conversion issue when the data contains special characters.

Ben Hsieh 7 年之前
父節點
當前提交
1d4e69cf20
共有 1 個檔案被更改,包括 1 行新增4 行删除
  1. 1
    4
      android/src/main/java/com/RNFetchBlob/RNFetchBlobFS.java

+ 1
- 4
android/src/main/java/com/RNFetchBlob/RNFetchBlobFS.java 查看文件

250
                 CharsetEncoder encoder = Charset.forName("UTF-8").newEncoder();
250
                 CharsetEncoder encoder = Charset.forName("UTF-8").newEncoder();
251
                 while ((cursor = fs.read(buffer)) != -1) {
251
                 while ((cursor = fs.read(buffer)) != -1) {
252
                     encoder.encode(ByteBuffer.wrap(buffer).asCharBuffer());
252
                     encoder.encode(ByteBuffer.wrap(buffer).asCharBuffer());
253
-                    String chunk = new String(buffer);
254
-                    if(cursor != bufferSize) {
255
-                        chunk = chunk.substring(0, cursor);
256
-                    }
253
+                    String chunk = new String(buffer, 0, cursor);
257
                     emitStreamEvent(streamId, "data", chunk);
254
                     emitStreamEvent(streamId, "data", chunk);
258
                     if(tick > 0)
255
                     if(tick > 0)
259
                         SystemClock.sleep(tick);
256
                         SystemClock.sleep(tick);