base62

所属分类:collect
开发工具:Crystal
文件大小:0KB
下载次数:0
上传日期:2022-10-20 22:42:26
上 传 者sh-1993
说明:  用于Crystal的Base62编码器-解码器,
(Base62 encoder decoder for Crystal,)

文件列表:
.editorconfig (150, 2023-10-12)
LICENSE (1087, 2023-10-12)
shard.yml (201, 2023-10-12)
spec/ (0, 2023-10-12)
spec/base62_spec.cr (1564, 2023-10-12)
spec/spec_helper.cr (39, 2023-10-12)
src/ (0, 2023-10-12)
src/base62.cr (2182, 2023-10-12)

# Base62.cr [![CI](https://github.com/Sija/base62.cr/actions/workflows/ci.yml/badge.svg)](https://github.com/Sija/base62.cr/actions/workflows/ci.yml) [![Releases](https://img.shields.io/github/release/Sija/base62.cr.svg)](https://github.com/Sija/base62.cr/releases) [![License](https://img.shields.io/github/license/Sija/base62.cr.svg)](https://github.com/Sija/base62.cr/blob/master/LICENSE) Crystal shard for Base62 encoding/decoding. It's especially useful for converting data into shortened strings suitable for URL shortening and/or obfuscating auto-incrementing resource ids from being exposed through RESTful APIs. ## What is Base62 encoding? Base62 encoding converts numbers to ASCII strings (0-9, a-z, and A-Z) and vice versa, which typically results in comparatively short strings. Such identifiers also tend to be more readily identifiable by humans. ## Installation Add this to your application's `shard.yml`: ```yaml dependencies: base62: github: Sija/base62.cr ``` ## Usage ```crystal require "base62" Base62.encode(999) # => "G7" Base62.decode("G7") # => 999 ``` This uses the default **ASCII character set** for encoding/decoding. It's also possible to define a **custom character set** instead: ```crystal charset = "~9876543210ABCDEFGHIJKLMNOPQRSTU$#@%!abcdefghijklmnopqrstuvw-=" Base62.encode(999, charset) # => "F3" Base62.decode("F3", charset) # => 999 ``` Note that `charset` typically expects the respective string to contain exactly 62 unique characters. It's also possible to use character sets with more than 62 characters to achieve shorter identifiers for large numbers. ## Contributing 1. Fork it () 2. Create your feature branch (`git checkout -b my-new-feature`) 3. Commit your changes (`git commit -am 'Add some feature'`) 4. Push to the branch (`git push origin my-new-feature`) 5. Create a new Pull Request ## Contributors - [@Sija](https://github.com/Sija) Sijawusz Pur Rahnama - creator, maintainer

近期下载者

相关文件


收藏者