Skip to content

real-LiHua/Base1000QianZiWenCodec

Repository files navigation

Base1000 Thousand Character Classic Encoder

Base1000 is a text encoder based on the "Thousand Character Classic", supporting encoding any text into a sequence of "Thousand Character Classic" characters and decoding it back to the original text.

Static Badge

Features

  • Encoding: Encode input text into a sequence of "Thousand Character Classic" characters.
  • Decoding: Decode a sequence of "Thousand Character Classic" characters back to the original text.
  • Python Extension Module: Provides a Python interface for direct usage in Python.
  • Command Line Tool: Offers a simple and easy-to-use CLI tool.

Installation

Build with Cargo

Default enabled features (clap, encode, decode)

cargo build --release

Enable Features

  • clap: Enables command-line tool functionality. Enable it with the following command:

    cargo build --release --features clap
  • pyo3: Enables building the Python extension module. Enable it with the following command:

    cargo build --release --features pyo3
  • encode: Enables text encoding functionality. Enable it with the following command:

    cargo build --release --features encode
  • decode: Enables text decoding functionality. Enable it with the following command:

    cargo build --release --features decode
  • Enable multiple features simultaneously:

    cargo build --release --features "clap pyo3 encode decode"

Build Python Extension with Maturin

maturin build --release

Usage

Command Line Tool

Encoding

base1000 -e "114514"

Decoding

base1000 -d "夜裳移柰梧"

UVX Direct Execution

You can directly execute the tool using uvx:

uvx git+https://github.com/real-LiHua/Base1000QianZiWenCodec [switch] text

pipx Direct Execution

You can directly execute the tool using pipx:

pipx run --spec git+https://github.com/real-LiHua/Base1000QianZiWenCodec base1000 [switch] text

Model Context Protocol (MCP)

Configuring with Claude

{
    "mcpServers": {
        "github.com/real-LiHua/Base1000QianZiWenCodec": {
            "command": "uvx",
            "args": [
                "git+https://github.com/real-LiHua/Base1000QianZiWenCodec[mcp]"
            ],
        }
    }
}

Configuring with Zed

{
  "context_servers": {
    "github.com/real-LiHua/Base1000QianZiWenCodec": {
      "source": "custom",
      "command": {
        "path": "uvx",
        "args": [
          "git+https://github.com/real-LiHua/Base1000QianZiWenCodec[mcp]"
        ],
        "env": null
      }
    }
  }
}

Python Extension

Installation

pip install "git+https://github.com/real-LiHua/Base1000QianZiWenCodec"

Example

from base1000 import base1000

# Encoding
encoded = base1000.encode("114514")
print(encoded)

# Decoding
for decoded in base1000.decode(encoded):
    print(decoded)

Testing

Run unit tests:

cargo test

Project Structure

  • src/lib.rs: Core library implementation.
  • src/main.rs: Command-line tool entry point.
  • src/encode.rs: Encoding implementation.
  • src/decode.rs: Decoding implementation.
  • base1000/__init__.py: Python package initialization.
  • base1000/__main__.py: Python CLI entry point.
  • base1000/_run.py: Python CLI implementation.
  • base1000/base1000.pyi: Python type hint file.

About

Base千字文

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •