[![Build Status](https://travis-ci.org/hsivonen/codepage.svg?branch=master)](https://travis-ci.org/hsivonen/codepage)
[![crates.io](https://meritbadge.herokuapp.com/codepage)](https://crates.io/crates/codepage)
[![docs.rs](https://docs.rs/codepage/badge.svg)](https://docs.rs/codepage/)
[![Apache 2 / MIT dual-licensed](https://img.shields.io/badge/license-Apache%202%20%2F%20MIT-blue.svg)](https://github.com/hsivonen/codepage/blob/master/COPYRIGHT)
# codepage
Mapping between Windows [code page identifiers][1] and
[encoding_rs][2] `Encoding`s.
[1]: https://docs.microsoft.com/en-us/windows/desktop/intl/code-page-identifiers
[2]: https://crates.io/crates/encoding_rs/
## Why a Separate Crate?
This crate isn't part of encoding_rs itself in order to avoid scope
creep for encoding_rs itself and to signal that Windows code page
applicability of encoding_rs is secondary. It's not completely
incidental due to Web history, but encoding_rs will prioritize
compliance with the WHATWG
[Encoding Standard](https://encoding.spec.whatwg.org/)
over matching the Windows system converters exactly. Still,
encoding_rs is in practice useful for decoding legacy Windows
data, because all the "ANSI code pages" that are the default
for some Windows locale are present in the Encoding Standard,
because those defaults have influenced the Web.
## Licensing
Please see the file named
[COPYRIGHT](https://github.com/hsivonen/codepage/blob/master/COPYRIGHT).
## API Documentation
Generated [API documentation](https://docs.rs/codepage/) is available
online.
## Security Considerations
Only code page numbers whose corresponding labels map to the replacement
encoding in the Encoding Standard map to the replacement encoding here,
despite many other code page numbers referring to encodings with similar
security problems.
## Disclaimer
This is a personal project. It has a Mozilla copyright notice, because
it's partially generated by the Python script in the encoding_rs repo.
You should not try to read anything more into Mozilla's name appearing.
### 0.1.0
Initial non-placeholder release.