| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 part of dart.io; | 5 part of dart.io; |
| 6 | 6 |
| 7 /** | 7 /** |
| 8 * String encodings. | 8 * String encodings. |
| 9 */ | 9 */ |
| 10 class Encoding { | 10 class Encoding { |
| 11 static const Encoding UTF_8 = const Encoding._internal("UTF-8"); | 11 static const Encoding UTF_8 = const Encoding._internal("utf-8"); |
| 12 static const Encoding ISO_8859_1 = const Encoding._internal("ISO-8859-1"); | 12 static const Encoding ISO_8859_1 = const Encoding._internal("iso-8859-1"); |
| 13 static const Encoding ASCII = const Encoding._internal("ASCII"); | 13 static const Encoding ASCII = const Encoding._internal("us-ascii"); |
| 14 |
| 15 /** |
| 16 * Name of the encoding. This will be the lower-case version of one of the |
| 17 * IANA official names for the character set (see |
| 18 * http://www.iana.org/assignments/character-sets/character-sets.xml) |
| 19 */ |
| 20 final String name; |
| 21 |
| 14 /** | 22 /** |
| 15 * SYSTEM encoding is the current code page on Windows and UTF-8 on | 23 * SYSTEM encoding is the current code page on Windows and UTF-8 on |
| 16 * Linux and Mac. | 24 * Linux and Mac. |
| 17 */ | 25 */ |
| 18 static const Encoding SYSTEM = const Encoding._internal("SYSTEM"); | 26 static const Encoding SYSTEM = const Encoding._internal("system"); |
| 19 const Encoding._internal(String this.name); | 27 const Encoding._internal(String this.name); |
| 20 final String name; | |
| 21 } | 28 } |
| 22 | 29 |
| 23 | 30 |
| 24 /** | 31 /** |
| 25 * Stream transformer that can decode a stream of bytes into a stream of | 32 * Stream transformer that can decode a stream of bytes into a stream of |
| 26 * strings using [encoding]. | 33 * strings using [encoding]. |
| 27 * | 34 * |
| 28 * Invalid or forbidden byte-sequences will not produce errors, but will instead | 35 * Invalid or forbidden byte-sequences will not produce errors, but will instead |
| 29 * insert [replacementChar] in the decoded strings. | 36 * insert [replacementChar] in the decoded strings. |
| 30 */ | 37 */ |
| (...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 306 | 313 |
| 307 // Utility class for decoding Windows current code page data delivered | 314 // Utility class for decoding Windows current code page data delivered |
| 308 // as a stream of bytes. | 315 // as a stream of bytes. |
| 309 class _WindowsCodePageDecoder extends StreamEventTransformer<List<int>, String>
{ | 316 class _WindowsCodePageDecoder extends StreamEventTransformer<List<int>, String>
{ |
| 310 void handleData(List<int> data, StreamSink<String> sink) { | 317 void handleData(List<int> data, StreamSink<String> sink) { |
| 311 sink.add(_decodeBytes(data)); | 318 sink.add(_decodeBytes(data)); |
| 312 } | 319 } |
| 313 | 320 |
| 314 external static String _decodeBytes(List<int> bytes); | 321 external static String _decodeBytes(List<int> bytes); |
| 315 } | 322 } |
| OLD | NEW |