#string #local #ansi #codec #charset #codepage #utf-8

local-encoding

Rust 编程语言用于使用本地字符集进行编码/解码字符串的库。它适用于在 Windows 上处理 ANSI 字符串。

2 个不稳定版本

使用旧的 Rust 2015

0.2.0 2016 年 8 月 9 日
0.1.0 2016 年 7 月 12 日

1586文本处理

Download history 436/week @ 2024-03-03 444/week @ 2024-03-10 574/week @ 2024-03-17 470/week @ 2024-03-24 528/week @ 2024-03-31 384/week @ 2024-04-07 438/week @ 2024-04-14 468/week @ 2024-04-21 468/week @ 2024-04-28 384/week @ 2024-05-05 481/week @ 2024-05-12 598/week @ 2024-05-19 458/week @ 2024-05-26 513/week @ 2024-06-02 347/week @ 2024-06-09 533/week @ 2024-06-16

1,892 每月下载量
用于 18 个包(15 个直接使用)

MIT 许可协议

18KB
312

local-encoding

Join the chat at https://gitter.im/bozaro/local-encoding-rs Build Status Crates.io

此存储库包含用于使用本地字符集进行编码/解码字符串的 Rust 库。它适用于在 Windows 上处理 ANSI 字符串。

不幸的是,Windows 广泛使用 8 位字符编码而不是 UTF-8。这导致了很多问题。

例如,在俄语版本中

  • CP-1251(ANSI 字符集)用于 8 位文件;
  • CP-866(OEM 字符集)用于控制台输出。

Windows 提供用于在 8 位和 Unicode 之间转换的函数:MultiByteToWideCharWideCharToMultiByte

此库提供简单的函数,用于在 Windows 上在 8 位和 Unicode 字符之间进行转换。

UTF-8 作为非 Windows 系统的 8 位代码页。

Rustdoc: https://bozaro.github.io/local-encoding-rs/local_encoding/

使用方法

在您的 Cargo.toml 中添加以下内容

[dependencies]
local-encoding = "*"

例如

extern crate local_encoding;

use local_encoding::{Encoding, Encoder};

fn main()
{
	println!("Unicode string: {}", Encoding::ANSI.to_string(b"ANSI string").unwrap());
	println!("Unicode string: {}", Encoding::OEM.to_string(b"OEM string").unwrap());
}

依赖项

~165KB