| Crates.io | path_to_unicode_filename |
| lib.rs | path_to_unicode_filename |
| version | 0.1.1 |
| created_at | 2023-07-22 18:24:55.608557+00 |
| updated_at | 2023-07-22 18:42:18.865883+00 |
| description | The library encodes file path separators and common directory names, producing a reversible unicode string that can be used as a filename. It's useful in the case when you want to extract data or features from any file and store them in a specific directory. |
| homepage | |
| repository | https://github.com/amachang/path_to_unicode_filename |
| max_upload_size | |
| id | 923366 |
| size | 38,904 |
The library encodes file path separators and common directory names, producing a reversible unicode string that can be used as a filename. It's useful in the case when you want to extract data or features from any file and store them in a specific directory.
It replaces path chars as below:
\/:*?"<>| be replaced to full width alternative chars of unicode.〇.use path_to_unicode_filename::*;
// make a filename
assert_eq!(to_filename("/tmp/file.txt"), Ok("/tmp/file.txt".into()));
assert_eq!(to_filename("C:\\Users\\alice\\file.txt"), Ok("💠🏠alice\file.txt".into()));
assert_eq!(to_filename("/Users/alice/Documents/file.txt"), Ok("🍎📄alice/file.txt".into()));
// restore the filename to the original path
assert_eq!(to_path("/var/log/file.txt"), Ok("/var/log/file.txt".into()));
assert_eq!(to_path("🐧🥞sdcard001/file.txt"), Ok("/media/sdcard001/file.txt".into()));
assert_eq!(to_path("🍎🎨bob/file.png"), Ok("/Users/bob/Pictures/file.png".into()));
License: MIT OR Apache-2.0