Automatically detect and decode the charset (character encoding) of text bytes.
The example app; details
This plugin uses native libraries derived from the universal charset detection libraries created by Mozilla.
- iOS, macOS: UniversalDetector2, a thin wrapper around uchardet
- Android: juniversalchardet, a Java implementation of universalchardet
- Web: jschardet, a JavaScript port of the Python chardet
- Android 4.1 (SDK 16) and higher
- iOS 11 and higher
- macOS 10.14 and higher
- Web (requires TextDecoder support)
The detectable charsets differ by platform according to the capabilities of the underlying library; for specifics see:
import 'package:flutter_charset_detector/flutter_charset_detector.dart';
Uint8List bytes = getBytes(); // bytes with unknown encoding
DecodingResult result = CharsetDetector.autoDecode(bytes);
print(result.charset); // => e.g. 'SHIFT_JIS'
print(result.string); // => e.g. '日本語'
- charset_converter if you already know the name of the charset you want to encode/decode