Project

hachi64

0.0
The project is in a healthy, maintained state
Hachi64 provides encoding and decoding using a custom 64-character Chinese character set, similar to Base64 but with Hachimi-style characters.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 3.12
 Project Readme

🐱 哈基米64 (Hachi64)

使用哈基米64字符集来进行编码和解码

既要编码也要解码吗? 哈基米64 你这家伙! 😸


License: MIT Languages


📋 目录

  • ✨ 概述
  • 多语言支持
  • 📄 License

✨ 概述

本项目提供了使用哈基米64个字符集来创建哈基米风格编码的工具。哈基米64(Hachi64)使用64个中文字符,这些字符按发音相似性分组,使编码后的字符串看起来更加和谐统一 (没想到把。


🎯 字符集特点

  • ✅ 64个唯一中文字符
    完全符合Base64编码要求
  • 🎵 发音分组
    大部分音组包含3个同音字或近音字,分布平衡
  • 🎨 视觉和谐
    编码结果看起来像哈基米风格的文字
  • 🔄 完全可逆
    编码解码过程无损,与原始数据完全一致

🎪 适用场景

  • 🎭 创建具有哈基米风格的编码数据
  • 🧘 在需要Base64功能的同时保持精神层面的抽象
  • 🐈 代码运行的同时保持对猫猫的喜爱
  • 🛡️ 避免特定上下文被网络模因污染

🔤 字符集分组详情 (点击展开查看完整的64个字符)

哈基米64字符集按发音相似性分组,共19个音组,64个字符:

哈音组 (3个)
哈、蛤、呵
吉音组 (6个)
吉、急、集、都、弥、济
米音组 (6个)
米、咪、迷
南音组 (6个)
南、男、难、囊、路、陆
北音组 (3个)
北、背、杯
绿音组 (3个)
绿、律、虑
豆音组 (4个)
豆、斗、抖、多
啊音组 (3个)
啊、阿、额
西音组 (3个)
西、希、息
嘎音组 (3个)
嘎、咖、伽
花音组 (3个)
花、华、哗
压音组 (3个)
压、鸭、呀
库音组 (3个)
库、酷、苦
奶音组 (3个)
奶、乃、耐
龙音组 (3个)
龙、隆、拢
曼音组 (3个)
曼、慢、漫
波音组 (3个)
波、播、玻
叮音组 (3个)
叮、丁、订
咚音组 (3个)
咚、东、冬

总计64个字符,发音分布相对平衡,编码结果具有良好的视觉和听觉和谐性。

⚠️ 注意: 使用哈基米字母表会使您编码的数据与标准 Base64 解码器不兼容。仅在您完全控制编码、解码过程以及猫猫时才使用此功能。


🚀 快速开始

# 示例: "Hello" 编码后的结果
输入: Hello
输出: 豆米啊拢嘎米多=

选择您喜欢的编程语言,立即开始使用!👇


💻 多语言支持

语言 包管理器 版本 文档
🔷 C++ Header-only Header-only 📖 文档
🟣 C# (.NET) NuGet NuGet 📖 文档
🎯 Dart pub.dev Pub Version 📖 文档
🐹 Go Go Module Go Module 📖 文档
☕ Java Maven Central Maven Central 📖 文档
🟨 JavaScript/TypeScript npm npm 📖 文档
🟪 Kotlin Maven (source) Status 📖 文档
🐘 PHP Packagist Packagist 📖 文档
🐍 Python PyPI PyPI 📖 文档
💎 Ruby RubyGems Gem Version 📖 文档
🦀 Rust crates.io Crates.io 📖 文档
🍎 Swift SPM Version 📖 文档

📦 安装和使用示例 (点击展开)

C++

// Header-only 库,只需包含头文件
#include "hachi64/hachi64.hpp"

std::string encoded = hachi64::encode({72, 101, 108, 108, 111});  // "豆米啊拢嘎米多="
std::vector<uint8_t> decoded = hachi64::decode(encoded);          // "Hello"

C# (.NET)

dotnet add package Hachi64 --version 0.1.0
byte[] data = Encoding.UTF8.GetBytes("Hello");
string encoded = Hachi64.Encode(data);           // "豆米啊拢嘎米多="
byte[] decoded = Hachi64.Decode(encoded);        // "Hello"

Dart

dependencies:
  hachi64: ^0.1.1
final encoded = Hachi64.encode(Uint8List.fromList(utf8.encode('Hello')));  // "豆米啊拢嘎米多="
final decoded = Hachi64.decode(encoded);                                   // "Hello"

Go

go get github.com/fengb3/Hachi64/go@v0.1.1
encoded := hachi64.Encode([]byte("Hello"), true)    // "豆米啊拢嘎米多="
decoded, _ := hachi64.Decode(encoded, true)         // "Hello"

Java

<dependency>
    <groupId>io.github.fengb3</groupId>
    <artifactId>hachi64</artifactId>
    <version>0.1.0</version>
</dependency>
String encoded = Hachi64.encode("Hello".getBytes(StandardCharsets.UTF_8));  // "豆米啊拢嘎米多="
byte[] decoded = Hachi64.decode(encoded);                                   // "Hello"

JavaScript/TypeScript

npm install hachi64@0.1.2
import { encode, decode } from 'hachi64';
const encoded = encode(Buffer.from('Hello'));  // "豆米啊拢嘎米多="
const decoded = decode(encoded);               // "Hello"

Kotlin

// 从源码构建或使用 mavenLocal
implementation("com.hachi64:hachi64:1.0.0")
val encoded = Hachi64.encode("Hello".encodeToByteArray())  // "豆米啊拢嘎米多="
val decoded = Hachi64.decode(encoded).decodeToString()     // "Hello"

PHP

composer require hachi64/hachi64:0.1.2
$encoded = Hachi64::encode("Hello");  // "豆米啊拢嘎米多="
$decoded = Hachi64::decode($encoded); // "Hello"

Python

pip install hachi64
from hachi64 import hachi64
encoded = hachi64.encode(b"Hello")  # "豆米啊拢嘎米多="
decoded = hachi64.decode(encoded)   # b"Hello"

Ruby

gem install hachi64
encoded = Hachi64.encode("Hello")  # "豆米啊拢嘎米多="
decoded = Hachi64.decode(encoded)  # "Hello"

Rust

[dependencies]
hachi64 = "0.1.6"
use hachi64::{encode, decode};
let encoded = encode(b"Hello");       // "豆米啊拢嘎米多="
let decoded = decode(&encoded)?;      // b"Hello"

Swift

dependencies: [
    .package(url: "https://github.com/fengb3/Hachi64.git", from: "0.1.1")
]
let encoded = Hachi64.encode("Hello".data(using: .utf8)!)  // "豆米啊拢嘎米多="
let decoded = try Hachi64.decode(encoded)                  // "Hello"

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


🌟 喜欢这个项目?

给我们一个 ⭐ Star 吧!


Made with 💖 and 🐱 by the Hachi64 community


🐛 报告问题 • 💡 功能建议 • 🤝 贡献代码