├── requirements.txt ├── config └── config.json ├── app.py ├── Dockerfile ├── navichina.yaml ├── args └── __init__.py ├── README.md ├── textcompare.py ├── .gitignore ├── cover.py ├── search.py ├── proxy.py ├── LICENSE └── ttscn.py /requirements.txt: -------------------------------------------------------------------------------- 1 | Flask==3.0.3 2 | flask_caching==2.3.0 3 | Requests==2.32.3 4 | waitress==3.0.0 5 | -------------------------------------------------------------------------------- /config/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "server": { 3 | "ip": "*", 4 | "port": 22522 5 | }, 6 | "auth": {} 7 | } -------------------------------------------------------------------------------- /app.py: -------------------------------------------------------------------------------- 1 | import logging 2 | import sys 3 | import threading 4 | 5 | from waitress import serve 6 | from args import GlobalArgs 7 | from cover import download_covers_auto 8 | from proxy import app 9 | 10 | args = GlobalArgs() 11 | 12 | def run_server(debug=False): 13 | if not debug: 14 | # Waitress WSGI 服务器 15 | serve(app, host=args.ip, port=args.port, threads=32, channel_timeout=30) 16 | else: 17 | app.run(host='*', port=args.port, debug=True) 18 | 19 | 20 | if __name__ == '__main__': 21 | # 对Python版本进行检查(要求Python 3.10+) 22 | if sys.version_info < (3, 10): 23 | raise RuntimeError( 24 | "Python 3.10+ required, but you are using Python {}.{}.{}.".format(*sys.version_info[:3]) 25 | ) 26 | # 日志配置 27 | logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') 28 | logger = logging.getLogger('') 29 | task_thread = threading.Thread(target=download_covers_auto) 30 | task_thread.start() 31 | # 启动 32 | logger.info("正在启动服务器") 33 | run_server(args.debug) 34 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | # 第一阶段:安装GCC 2 | FROM python:3.11-alpine as gcc_installer 3 | 4 | # 安装GCC及其他依赖 5 | # RUN apk update --repository=https://mirrors.aliyun.com/alpine/v3.20/main \ 6 | # --repository=https://mirrors.aliyun.com/alpine/v3.20/community && \ 7 | # apk add --no-cache gcc musl-dev jpeg-dev zlib-dev libjpeg-turbo-dev 8 | 9 | RUN echo "https://mirrors.aliyun.com/alpine/v3.20/main" > /etc/apk/repositories && \ 10 | echo "https://mirrors.aliyun.com/alpine/v3.20/community" >> /etc/apk/repositories && \ 11 | apk update && \ 12 | apk add --no-cache gcc musl-dev jpeg-dev zlib-dev libjpeg-turbo-dev 13 | 14 | 15 | # 第二阶段:安装Python依赖 16 | FROM gcc_installer as requirements_installer 17 | 18 | # 设置工作目录 19 | WORKDIR /app 20 | 21 | # 只复制 requirements.txt,充分利用 Docker 缓存层 22 | COPY ./requirements.txt /app/ 23 | 24 | # 安装Python依赖 25 | RUN pip install --no-user --prefix=/install -r requirements.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple 26 | 27 | # 第三阶段:运行环境 28 | FROM python:3.11-alpine 29 | 30 | # 设置工作目录 31 | WORKDIR /app 32 | 33 | # 复制Python依赖 34 | COPY --from=requirements_installer /install /usr/local 35 | 36 | # 复制项目代码 37 | COPY ./ /app 38 | 39 | # 设置启动命令 40 | CMD ["python", "/app/app.py"] 41 | -------------------------------------------------------------------------------- /navichina.yaml: -------------------------------------------------------------------------------- 1 | services: 2 | navichina: 3 | container_name: navichina 4 | image: tooandy/navichina:latest 5 | user: 1000:1000 # should be owner of volumes 6 | ports: 7 | - 22522:22522 # tooandy/navidrome 默认使用 22522 端口访问 navichina 8 | restart: unless-stopped 9 | volumes: 10 | - /tmp/.cache:/.cache 11 | - /path/to/your/music/:/music # 需要有写权限. 12 | environment: 13 | - COVER_AUTO_DOWNLOAD:false # 默认 false, 若为 true, 需要配置 /music 卷映射 和 ALBUM_REGEX_PATTERN 变量 14 | - ALBUM_REGEX_PATTERN:(.*) # COVER_AUTO_DOWNLOAD 为 true 时启用, 表示如何处理 /music/中的专辑名. 默认全匹配. 如果是 2004-七里香, 由于专辑名时 "七里香", 则填写 "\d+-(.*)", 一定要有一个 group 15 | 16 | 以下 navidrome 是官方推荐的配置. 根据自己需要更改 17 | navidrome: 18 | image: tooandy/navidrome:develop 19 | user: 1000:1000 # should be owner of volumes 20 | network_mode: host # 使用容器的话, 必须为 host 模式, 因为非host模式, 容器内 127.0.0.1 指向的是容器内不网络, 不能访问到宿主机 21 | restart: unless-stopped 22 | environment: 23 | # Optional: put your config options customization here. Examples: 24 | ND_SCANSCHEDULE: 1h 25 | ND_LOGLEVEL: info 26 | ND_SESSIONTIMEOUT: 24h 27 | ND_BASEURL: "" 28 | volumes: 29 | - "/path/to/data:/data" 30 | - "/path/to/your/music/folder:/music" 31 | depends_on: 32 | - navichina 33 | 34 | -------------------------------------------------------------------------------- /args/__init__.py: -------------------------------------------------------------------------------- 1 | import argparse 2 | import json 3 | import logging 4 | import os 5 | 6 | logger = logging.getLogger(__name__) 7 | 8 | # 启动参数解析器 9 | parser = argparse.ArgumentParser(description="navidrome 网易云代理插件") 10 | # 添加一个 `--port` 参数,默认值 22522 11 | parser.add_argument('--port', type=int, default=22522, help='应用的运行端口,默认 22522') 12 | parser.add_argument("--debug", action="store_true", help="Enable debug mode") 13 | kw_args, unknown_args = parser.parse_known_args() 14 | 15 | 16 | # 按照次序筛选首个非Bool False(包括None, '', 0, []等)值; 17 | # False, None, '', 0, []等值都会转化为None 18 | def first(*args): 19 | """ 20 | 返回第一个非False值 21 | :param args: 22 | :return: 23 | """ 24 | result = next(filter(lambda x: x, args), None) 25 | return result 26 | 27 | 28 | class DefaultConfig: 29 | def __init__(self): 30 | self.ip = '*' 31 | self.port = 22522 32 | 33 | 34 | class ConfigFile: 35 | """ 36 | 读取json配置文件 37 | """ 38 | 39 | def __init__(self): 40 | json_config = { 41 | "server": { 42 | "ip": "*", 43 | "port": 22522 44 | } 45 | } 46 | file_path = os.path.join(os.getcwd(), "config", "config.json") 47 | try: 48 | with open(file_path, "r+") as json_file: 49 | json_config = json.load(json_file) 50 | except FileNotFoundError: 51 | # 如果文件不存在,则创建文件并写入初始配置 52 | directory = os.path.dirname(file_path) 53 | if not os.path.exists(directory): 54 | os.makedirs(directory) 55 | with open(file_path, "w+") as json_file: 56 | json.dump(json_config, json_file, indent=4) 57 | self.server = json_config.get("server", {}) 58 | self.port = self.server.get("port", 0) 59 | self.ip = self.server.get("ip", "*") 60 | 61 | 62 | # 环境变量定义值 63 | class EnvVar: 64 | def __init__(self): 65 | self.port = os.environ.get('API_PORT', None) 66 | 67 | 68 | env_args = EnvVar() 69 | config_args = ConfigFile() 70 | default = DefaultConfig() 71 | 72 | 73 | # 按照优先级筛选出有效值 74 | class GlobalArgs: 75 | def __init__(self): 76 | self.port = first(env_args.port, kw_args.port, config_args.port, default.port) 77 | self.ip = first(config_args.ip, default.ip) 78 | self.debug = kw_args.debug 79 | self.version = "1.0.0" 80 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Docker Pulls](https://img.shields.io/docker/pulls/tooandy/navichina?logo=docker&label=pulls&style=flat-square)](https://hub.docker.com/r/tooandy/navichina) 2 | 3 | ## 背景 4 | 由于 navidrome 只能使用 Spotify 获取歌曲封面, 通过 Last.fm 获取艺术家信息和专辑信息, 对于中文歌曲来说, 不太友好, 例如: 5 | - 对于华语歌手来说, Last.fm 中缺失大多数艺术家描述 6 | - 从 Last.fm 中获取的艺术家描述基本上都是英文的 7 | - 从 Spotify 获取的封面信息缺失. 8 | - 由于神秘原因, 访问 Spotify 不稳定. 9 | 10 | 因此考虑使用使用网易云音乐的接口代替 Last.fm 和 Spotify. 11 | 12 | 由于 navidrome 使用 golang 开发, 而我不懂 golang, 因此没有能力直接在 navidrome 上贡献源码. 只能通过这种撇脚的方式, 来解决这个问题. 13 | 14 | ## 解决思路 15 | 1. 修改 navidrome 访问 Spotify 和 Last.fm 的默认地址(具体在 `core/agents/Last.fm/client.go` 和 `core/agents/Spotify/client.go`), 替换为访问本地 `22520` 端口的代理 16 | 2. 在 `22520` 端口上, 启动本代理插件, 拦截 navidrome 原本应该向 Spotify 和 Last.fm 发起的请求. 17 | 3. 根据拦截的请求信息, 访问网易云的接口, 获取必要的信息, 主要包括艺术家/专辑封面, 描述等 18 | 19 | ## 实现效果 20 | 1. 不再访问 Spotify, 但仍会访问 Last.fm. 21 | 2. 通过网易云音乐对艺术家和专辑的描述, 丰富了 Last.fm 的查询结果. 22 | 23 | ## 使用方法 24 | ### **1. 直接使用已有docker镜像运行(推荐)** 25 | 直接使用已经编译完成的 docker 镜像, 并使用如下 docker-compose.yaml, 可直接运行 [navidrome](https://github.com/TooAndy/navidrome) + navichina. 26 | ```shell 27 | docker compose -f docker-compose.yaml up -d 28 | ``` 29 | 30 | docker-compose.yaml 内容如下, 如果需要修改配置, 请参考注释 31 | 32 | ```yaml 33 | services: 34 | navidrome: 35 | container_name: navidrome 36 | image: tooandy/navidrome:latest 37 | user: 0:0 # 需要对卷有写入权限 38 | network_mode: host 39 | restart: unless-stopped 40 | environment: 41 | - ND_CONFIGFILE=/data/navidrome.toml 42 | # Spotify 账号已不再需要,但仍需要配置(非空值即可,例如下面的AAAA、BBBB),否则无法启用 Spotify 的功能 43 | - ND_SPOTIFY_ID=AAAA 44 | - ND_SPOTIFY_SECRET=BBBB 45 | # Lastfm 账号仍然需要,注册Last.FM账户后,前往 https://www.last.fm/zh/api/account/create 创建 API 帐户 46 | - ND_LASTFM_APIKEY=<根据真实账号填写> 47 | - ND_LASTFM_SECRET=<根据真实账号填写> 48 | - ND_LASTFM_LANGUAGE=zh 49 | volumes: 50 | - <配置文件路径>:/data # 配置文件放在 /var/lib/navidrome 中, 生成的数据库文件也会放在这里 51 | - <音乐路径>:/music 52 | depends_on: 53 | - navichina 54 | 55 | navichina: 56 | container_name: navichina 57 | image: tooandy/navichina:latest 58 | user: 0:0 # 需要对卷有写入权限. 59 | restart: unless-stopped 60 | volumes: 61 | - <音乐路径>:/music # 如果需要 navidrome 将艺术家和专辑封面下载到音乐路径中, 需要和 navidrome 的卷设置相同. 62 | ports: 63 | - 22522:22522 # 外部端口需要设置为 22522, 因为 tooandy/navidrome 容器默认访问 22522 端口. 如果需要修改端口, 建议使用 navichina 项目中的 build-navidrome.sh 脚本重新构建一个镜像 64 | ``` 65 | 66 | ### 2. 自己编译打包运行 67 | ***确保本地安装了 node, go 和 TagLib***. 具体版本要求见 [Navidrome](https://www.navidrome.org/docs/installation/build-from-source/) 68 | ```shell 69 | git clone https://github.com/TooAndy/navichina.git 70 | cd navichina 71 | # 需要 docker 环境. 默认构建为 deluan/navidrome:develop 镜像 72 | sh build-navidrome.sh 73 | # 通过 docker 的方式, 运行本项目的代理软件和部署修改源码重新编译后的 deluan/navidrome:develop 镜像 74 | # 注意修改 navichina.yaml 中的配置 75 | docker compose -f navichina.yaml up -d 76 | ``` 77 | > 如果需要修改本代理插件的端口, 在 `build-navidrome.sh` 脚本中修改 `PORT` 变量 78 | 79 | > 如果需要使用其他方式运行本插件和 navidrome, 可以自己摸索一下, 就这几行代码, 比较简单 80 | 81 | ## 说明 82 | 项目中的大量代码从 [LrcApi](https://github.com/HisAtri/LrcApi) 项目复制过来. 感谢 LrcApi 开源贡献 @HisAtri 83 | 84 | ## 协议 85 | GPL-3.0 license 86 | 87 | ## 相关链接 88 | 1. [Navidrome 官网](https://www.navidrome.org/) 89 | 2. [官方 Navidrome github 仓库](https://github.com/navidrome/navidrome) 90 | 2. [tooandy/navidrome/ github 仓库](https://github.com/tooandy/navidrome) 91 | 2. [LrcApi](https://github.com/HisAtri/LrcApi) 92 | 3. [音流 StreamMusic](https://github.com/gitbobobo/StreamMusic) 93 | -------------------------------------------------------------------------------- /textcompare.py: -------------------------------------------------------------------------------- 1 | import re 2 | 3 | from ttscn import t2s 4 | 5 | """ 6 | 本模块算法针对常见音乐标题匹配场景应用,着重分离度和效率。 7 | Levenshtein Distance算法实际表现不佳 8 | 目前没有好的轻量nn实现,不考虑上模型 9 | 当前数据集R~=0.8 10 | 11 | COPY FROM LRCAPI (https://github.com/HisAtri/LrcApi) 12 | """ 13 | 14 | 15 | def text_convert(text: str): 16 | patterns = [ 17 | r"(? max_length: 42 | max_length = dp[i][j] 43 | else: 44 | dp[i][j] = 0 45 | # 返回最长匹配长度 46 | return max_length 47 | 48 | 49 | def str_duplicate_rate(str1, str2): 50 | """ 51 | 用于计算重复字符 52 | """ 53 | set1 = set(str1) 54 | set2 = set(str2) 55 | 56 | common_characters = set1.intersection(set2) 57 | total_characters = set1.union(set2) 58 | 59 | similarity_ratio = len(common_characters) / len(total_characters) 60 | return similarity_ratio 61 | 62 | 63 | def calculate_duplicate_rate(list_1, list_2): 64 | """ 65 | 用于计算重复词素 66 | """ 67 | count = 0 # 计数器 68 | for char in list_1: 69 | char_sim = [] 70 | 71 | # 对每个词素进行association计算 72 | for char_s in list_2: 73 | char_sim.append(association(char, char_s)) 74 | count += max(char_sim) 75 | duplicate_rate = count / len(list_1) # 计算重复率 76 | return duplicate_rate 77 | 78 | 79 | # 分级 80 | def association(text_1: str, text_2: str) -> float: 81 | """ 82 | 通过相对最大匹配距离、相对最小编辑长度(ED) 83 | 测量文本相似度 84 | 最长相似、字符重复结合 85 | 权重混合 86 | :param text_1: 用户传入文本 87 | :param text_2: 待比较文本 88 | :return: 相似度 float: 0~1 89 | """ 90 | if text_1 == '': 91 | return 0.5 92 | if text_2 == '': 93 | return 0 94 | text_1 = text_1.lower() 95 | text_2 = text_2.lower() 96 | common_ratio = longest_common_substring(text_1, text_2) / len(text_1) 97 | string_dr = str_duplicate_rate(text_1, text_2) 98 | similar_ratio = common_ratio * (string_dr ** 0.5) ** (1 / 1.5) 99 | return similar_ratio 100 | 101 | 102 | def assoc_artists(text_1: str, text_2: str) -> float: 103 | if text_1 == "": 104 | return 0.5 105 | delimiters = [",", "\\", "&", " ", "+", "|", "、", ",", "/"] # 使用这些分隔符对artists进行分割 106 | delimiter_pattern = '|'.join(map(re.escape, delimiters)) # 构建正则表达式(自动转义) 107 | # 对文本进行繁简转换,使用re分割字符串为列表,并使用list-filter函数去除空项 108 | text_li_1 = list(filter(None, re.split(delimiter_pattern, t2s(text_1)))) 109 | text_li_2 = list(filter(None, re.split(delimiter_pattern, t2s(text_2)))) 110 | ar_ratio = calculate_duplicate_rate(text_li_1, text_li_2) 111 | return ar_ratio 112 | 113 | 114 | def zero_item(text: str) -> str: 115 | punctuation = "'\"?><:;/!@#$%^&*()_-+=!,。、?“”:;【】{}[]()()|~·`~[]「」{}〖〗『』〈〉«»〔〕‹›〝〞‘’''…#" 116 | text = text.replace(" ", "") 117 | for text_z in text: 118 | if text_z not in punctuation: 119 | return text_z 120 | return text[0] if text else text 121 | 122 | 123 | if __name__ == "__main__": 124 | text_s = "aaaa&bbbb&ccccc" 125 | text_r = "aaaa&ccccc&bbbb" 126 | print(str_duplicate_rate(text_s, text_r)) 127 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | share/python-wheels/ 24 | *.egg-info/ 25 | .installed.cfg 26 | *.egg 27 | MANIFEST 28 | 29 | .vscode/* 30 | 31 | # PyInstaller 32 | # Usually these files are written by a python script from a template 33 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 34 | *.manifest 35 | *.spec 36 | 37 | # Installer logs 38 | pip-log.txt 39 | pip-delete-this-directory.txt 40 | 41 | # Unit test / coverage reports 42 | htmlcov/ 43 | .tox/ 44 | .nox/ 45 | .coverage 46 | .coverage.* 47 | .cache 48 | nosetests.xml 49 | coverage.xml 50 | *.cover 51 | *.py,cover 52 | .hypothesis/ 53 | .pytest_cache/ 54 | cover/ 55 | 56 | # Translations 57 | *.mo 58 | *.pot 59 | 60 | # Django stuff: 61 | *.log 62 | local_settings.py 63 | db.sqlite3 64 | db.sqlite3-journal 65 | 66 | # Flask stuff: 67 | instance/ 68 | .webassets-cache 69 | 70 | # Scrapy stuff: 71 | .scrapy 72 | 73 | # Sphinx documentation 74 | docs/_build/ 75 | 76 | # PyBuilder 77 | .pybuilder/ 78 | target/ 79 | 80 | # Jupyter Notebook 81 | .ipynb_checkpoints 82 | 83 | # IPython 84 | profile_default/ 85 | ipython_config.py 86 | 87 | # pyenv 88 | # For a library or package, you might want to ignore these files since the code is 89 | # intended to run in multiple environments; otherwise, check them in: 90 | # .python-version 91 | 92 | # pipenv 93 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 94 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 95 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 96 | # install all needed dependencies. 97 | #Pipfile.lock 98 | 99 | # poetry 100 | # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. 101 | # This is especially recommended for binary packages to ensure reproducibility, and is more 102 | # commonly ignored for libraries. 103 | # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control 104 | #poetry.lock 105 | 106 | # pdm 107 | # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. 108 | #pdm.lock 109 | # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it 110 | # in version control. 111 | # https://pdm.fming.dev/#use-with-ide 112 | .pdm.toml 113 | 114 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm 115 | __pypackages__/ 116 | 117 | # Celery stuff 118 | celerybeat-schedule 119 | celerybeat.pid 120 | 121 | # SageMath parsed files 122 | *.sage.py 123 | 124 | # Environments 125 | .env 126 | .venv 127 | env/ 128 | venv/ 129 | ENV/ 130 | env.bak/ 131 | venv.bak/ 132 | 133 | # Spyder project settings 134 | .spyderproject 135 | .spyproject 136 | 137 | # Rope project settings 138 | .ropeproject 139 | 140 | # mkdocs documentation 141 | /site 142 | 143 | # mypy 144 | .mypy_cache/ 145 | .dmypy.json 146 | dmypy.json 147 | 148 | # Pyre type checker 149 | .pyre/ 150 | 151 | # pytype static type analyzer 152 | .pytype/ 153 | 154 | # Cython debug symbols 155 | cython_debug/ 156 | 157 | # PyCharm 158 | # JetBrains specific template is maintained in a separate JetBrains.gitignore that can 159 | # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore 160 | # and can be added to the global gitignore or merged into this file. For a more nuclear 161 | # option (not recommended) you can uncomment the following to ignore the entire idea folder. 162 | #.idea/ 163 | 164 | # Flask 165 | flask_cache/ 166 | 167 | # others 168 | test.py 169 | log.txt 170 | .idea/ 171 | app.build/ 172 | app.dist/ 173 | release/ 174 | ann.md 175 | .cache/ -------------------------------------------------------------------------------- /cover.py: -------------------------------------------------------------------------------- 1 | import logging 2 | import os 3 | import re 4 | import threading 5 | 6 | import requests 7 | 8 | from search import get_album_info, get_artist_profile 9 | 10 | logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') 11 | logger = logging.getLogger('') 12 | 13 | music_dir = "/music" 14 | 15 | ALBUM_REGEX_PATTERN = os.getenv('ALBUM_REGEX_PATTERN', "(.*)") 16 | # ALBUM_REGEX_PATTERN = os.getenv('ALBUM_REGEX_PATTERN', "\d+--(.+)") 17 | 18 | COVER_AUTO_DOWNLOAD = os.getenv("COVER_AUTO_DOWNLOAD", "false") 19 | COVER_AUTO_DOWNLOAD = True if COVER_AUTO_DOWNLOAD.lower() == "true" else False 20 | 21 | def find_album_directory(artist_dir, album_name): 22 | """ 23 | 在 artist_dir 目录下查找包含 album_name 的专辑目录 24 | """ 25 | for dir_name in os.listdir(artist_dir): 26 | if album_name in dir_name: 27 | return os.path.join(artist_dir, dir_name) 28 | return None 29 | 30 | 31 | def download_image_async(image_url, artist_name, album_name=None): 32 | if not COVER_AUTO_DOWNLOAD: 33 | return 34 | download_task = threading.Thread(target=download_image, args=(image_url, artist_name, album_name)) 35 | download_task.start() 36 | 37 | 38 | 39 | def download_image(image_url, artist_name, album_name=None): 40 | 41 | # 创建艺术家文件夹路径 42 | artist_dir = os.path.join(music_dir, artist_name) 43 | 44 | # 确保艺术家文件夹存在 45 | if not os.path.exists(artist_dir): 46 | logger.warning(f"不存在艺术家 {artist_name}, 无法保存封面图片") 47 | return 48 | # 如果是专辑封面,尝试找到匹配的专辑文件夹 49 | if album_name: 50 | album_dir = find_album_directory(artist_dir, album_name) 51 | if not album_dir: 52 | logger.warning(f"不存在专辑 {artist_name}/{album_name}, 无法保存封面图片") 53 | return 54 | 55 | image_path = os.path.join(album_dir, 'cover.jpg') 56 | else: 57 | image_path = os.path.join(artist_dir, 'artist.jpg') 58 | 59 | if os.path.exists(image_path): 60 | return 61 | 62 | do_download(image_url, image_path) 63 | 64 | 65 | 66 | 67 | def do_download(image_url, image_path): 68 | try: 69 | response = requests.get(image_url) 70 | response.raise_for_status() 71 | 72 | # 将图片保存到指定路径 73 | with open(image_path, 'wb') as f: 74 | f.write(response.content) 75 | logger.info(f"下载封面 {image_path}") 76 | except Exception as e: 77 | logger.error(f"下载封面失败: {e}") 78 | pass 79 | 80 | 81 | def get_artist_pic_url(artist): 82 | if profile := get_artist_profile(artist): 83 | return profile['artist']['img1v1Url'] 84 | return None 85 | 86 | 87 | def get_album_pic_url(artist, album): 88 | if info := get_album_info(artist, album): 89 | return info['picUrl'] 90 | return None 91 | 92 | 93 | def download_covers_auto(): 94 | if not COVER_AUTO_DOWNLOAD: 95 | logger.info("未开启自动下载专辑和艺术家封面") 96 | return 97 | for artist in os.listdir(music_dir): 98 | artist_dir = os.path.join(music_dir, artist) 99 | if os.path.isdir(artist_dir): 100 | artist_cover_path = os.path.join(artist_dir, "artist.jpg") 101 | # logger.info(artist_dir) 102 | if not os.path.exists(artist_cover_path): 103 | if url := get_artist_pic_url(artist): 104 | do_download(url, artist_cover_path) 105 | 106 | for album in os.listdir(artist_dir): 107 | album_dir = os.path.join(artist_dir, album) 108 | # logger.info(album_dir) 109 | if os.path.isdir(album_dir): 110 | cover_path = os.path.join(album_dir, "cover.jpg") 111 | if not os.path.exists(cover_path): 112 | real_album_name = album 113 | if match := re.search(ALBUM_REGEX_PATTERN, album): 114 | real_album_name = match.group(1) 115 | 116 | if url := get_album_pic_url(artist, real_album_name): 117 | do_download(url, cover_path) 118 | else: 119 | logger.warning(f"找不到封面, 无法下载 {cover_path}") 120 | logger.info("done download_covers_auto") 121 | -------------------------------------------------------------------------------- /search.py: -------------------------------------------------------------------------------- 1 | import logging 2 | 3 | import requests 4 | import urllib 5 | 6 | from textcompare import association 7 | from ttscn import t2s 8 | 9 | 10 | # logging.basicConfig(level=logging.INFO) 11 | # logger = logging.getLogger(__name__) 12 | 13 | headers = { 14 | 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36 Edg/129.0.0.0', 15 | 'origin': 'https://music.163.com', 16 | 'referer': 'https://music.163.com', 17 | } 18 | 19 | COMMON_SEARCH_URL_WANGYI = 'https://music.163.com/api/search/get/web?csrf_token=hlpretag=&hlposttag=&s={}&type={}&offset={}&total=true&limit={}' 20 | ARTIST_SEARCH_URL = 'http://music.163.com/api/v1/artist/{}' 21 | ALBUMS_SEARCH_URL = "http://music.163.com/api/artist/albums/{}?offset=0&total=true&limit=300" 22 | ALBUM_INFO_URL = "http://music.163.com/api/album/{}?ext=true" 23 | 24 | 25 | def listify(obj): 26 | if isinstance(obj, list): 27 | return obj 28 | else: 29 | return [obj] 30 | 31 | 32 | def search_artist_blur(artist_blur, limit=1): 33 | """ 由于没有选择交互的过程, 因此 artist_blur 如果输入的不准确, 可能会查询到错误的歌手 """ 34 | # logging.info('开始搜索: ' + artist_blur) 35 | 36 | num = 0 37 | if not artist_blur: 38 | logging.info('Missing artist. Skipping match') 39 | return None 40 | 41 | url = COMMON_SEARCH_URL_WANGYI.format( 42 | urllib.parse.quote(artist_blur.lower()), 100, 0, limit) 43 | artists = [] 44 | try: 45 | response = requests.get(url=url, headers=headers).json() 46 | artist_results = response['result'] 47 | num = int(artist_results['artistCount']) 48 | lim = min(limit, num) 49 | # logging.info('搜索到的歌手数量:' + str(lim)) 50 | for i in range(lim): 51 | try: 52 | artists = listify(artist_results['artists']) 53 | except: 54 | logging.error('Error retrieving artist search results.') 55 | except: 56 | logging.error('Error retrieving artist search results.') 57 | if len(artists) > 0: 58 | return artists[0] 59 | return None 60 | 61 | 62 | def search_artist(artist_id): 63 | if not artist_id: 64 | # logging.info('Missing artist. Skipping match') 65 | return None 66 | url = ARTIST_SEARCH_URL.format(artist_id) 67 | try: 68 | resp = requests.get(url=url, headers=headers).json() 69 | return resp 70 | except: 71 | return None 72 | 73 | 74 | def search_albums(artist_id): 75 | url = ALBUMS_SEARCH_URL.format(artist_id) 76 | resp = requests.get(url=url, headers=headers) 77 | if resp.status_code == 200 and resp.json()['code'] == 200: 78 | return resp.json()['hotAlbums'] 79 | return None 80 | 81 | 82 | def filter_and_get_album_id(album_list, album): 83 | most_similar = None 84 | highest_similarity = 0 85 | 86 | for candidate_album in album_list: 87 | if album == candidate_album['name']: 88 | return candidate_album['id'] 89 | similarity = association(album, candidate_album['name']) 90 | if similarity > highest_similarity: 91 | highest_similarity = similarity 92 | most_similar = candidate_album 93 | return most_similar['id'] if most_similar is not None else None 94 | 95 | 96 | def get_album_info_by_id(album_id): 97 | url = ALBUM_INFO_URL.format(album_id) 98 | resp = requests.get(url, headers=headers) 99 | if resp.status_code == 200 and resp.json()['code'] == 200: 100 | return resp.json()['album'] 101 | return None 102 | 103 | 104 | def get_album_info(artist, album): 105 | artist = t2s(artist) 106 | album = t2s(album) 107 | # 1. 根据 artist, 获取 artist_id 108 | if blur_result := search_artist_blur(artist_blur=artist): 109 | artist_id = blur_result['id'] 110 | # 2. 根据 artist_id 查询所有专辑 111 | if album_list := search_albums(artist_id): 112 | # 3. 根据 album, 过滤, 并获取到 album_id 113 | if album_id := filter_and_get_album_id(album_list, album): 114 | # 4. 根据 album_id, 查询 album_info 115 | return get_album_info_by_id(album_id) 116 | return None 117 | 118 | 119 | def get_artist_profile(artist): 120 | artist = t2s(artist) 121 | if artist is None or artist.strip() == '': 122 | return None 123 | if blur_result := search_artist_blur(artist_blur=artist): 124 | if profile := search_artist(blur_result['id']): 125 | return profile 126 | return None -------------------------------------------------------------------------------- /proxy.py: -------------------------------------------------------------------------------- 1 | import re 2 | import requests 3 | import traceback 4 | from flask_caching import Cache 5 | from functools import cache 6 | from urllib.parse import unquote 7 | from flask import Flask, abort, request, jsonify, redirect 8 | from cover import download_image_async 9 | from search import get_album_info, get_artist_profile # type: ignore 10 | 11 | app = Flask(__name__) 12 | 13 | 14 | # 缓存 15 | cache_dir = '/.cache' 16 | # try: 17 | # shutil.rmtree(cache_dir) 18 | # except FileNotFoundError: 19 | # pass 20 | 21 | cache = Cache(app, config={ 22 | 'CACHE_TYPE': 'filesystem', 23 | 'CACHE_DIR': cache_dir 24 | }) 25 | 26 | # 缓存键,解决缓存未忽略参数的情况 COPY FROM LRCAPI 27 | 28 | 29 | def make_cache_key(*args, **kwargs) -> str: 30 | path: str = request.path 31 | args: str = str(hash(frozenset(request.args.items()))) 32 | return path + args 33 | 34 | 35 | @app.route('/spotify/search/', methods=['GET']) 36 | @cache.cached(timeout=86400, key_prefix=make_cache_key) 37 | def proxy_spotfiy(): 38 | search_type = request.args.get('type') 39 | spotify_origin_url = f"https://api.spotify.com/v1/search?{request.query_string.decode('utf-8')}" 40 | 41 | if search_type == "artist": 42 | artist_name = request.args.get('q') 43 | artist_name_1 = None 44 | 45 | if any(substring in artist_name for substring in [' and ', "&"]): 46 | sp = re.split(r" and |&", artist_name) 47 | artist_name_1 = sp[0].strip() 48 | 49 | try: 50 | artist_profile = get_artist_profile(artist_name) 51 | if not artist_profile and artist_name_1 is not None: 52 | artist_profile = get_artist_profile(artist_name_1) 53 | 54 | if artist_profile: 55 | artist = artist_profile['artist'] 56 | app.logger.debug(f"查询到 {artist['name']}") 57 | else: 58 | app.logger.info(f"400 GET /spotify/search/?{unquote(request.query_string.decode('utf-8'))}") 59 | return jsonify({"code": 400, "message": f"无法查询到名称为[{artist_name}]的艺术家"}) 60 | 61 | items = [] 62 | images = [] 63 | url = artist['img1v1Url'] 64 | for i in range(3): 65 | # height 和 width 在 navidrome 中, 只用作排序. 所以大具体值无所谓 66 | image = {"height": 160 * (i + 1), "width": 160 * (i + 1), "url": url} 67 | images.append(image) 68 | # items.append({"name":artist['name'], "popularity": 100, "images": images}) 69 | items.append({"name": artist_name, "popularity": 100, "images": images}) 70 | app.logger.info(f"200 GET /spotify/search?{unquote(request.query_string.decode('utf-8'))}") 71 | 72 | # 查询成功的话, 下载封面放在 music_dir 中 73 | download_image_async(url, artist_name) 74 | 75 | return jsonify({"artists": {"items": items}}) 76 | except: 77 | app.logger.error("Traceback: %s", traceback.format_exc()) 78 | app.logger.warn(f"400 GET /spotify/search/?{unquote(request.query_string.decode('utf-8'))}") 79 | # 将你接口的返回内容直接返回给调用者 80 | abort(400, "暂时无法查询, 请稍后再试") 81 | else: 82 | # 对其他请求直接重定向到原接口 83 | app.logger.info(f"302 GET /spotify/search/?{unquote(request.query_string.decode('utf-8'))}") 84 | return redirect(spotify_origin_url) 85 | 86 | 87 | @app.route('/lastfm/', methods=['GET', 'POST']) 88 | @cache.cached(timeout=86400, key_prefix=make_cache_key) 89 | def proxy_lastfm(): 90 | lastfm_api_url = f"https://ws.audioscrobbler.com/2.0/?{request.query_string.decode('utf-8')}" 91 | 92 | if request.method == "POST": 93 | resp = requests.post(lastfm_api_url, json=None, headers=request.headers) 94 | app.logger.info(f"{resp.status_code} POST /lastfm/?{unquote(request.query_string.decode('utf-8'))}") 95 | return jsonify(resp.json()), resp.status_code 96 | 97 | method = request.args.get('method') 98 | if method.lower() == "artist.getinfo": 99 | lastfm_resp = requests.get(lastfm_api_url, headers=request.headers).json() 100 | artist_name = request.args.get('artist') 101 | if 'error' in lastfm_resp: 102 | app.logger.info(f"400 GET /lastfm/?{unquote(request.query_string.decode('utf-8'))}") 103 | abort(400, {"code": 400, "message": f"无法在lastfm 中查询到 {artist_name}"}) 104 | 105 | artist_name_1 = None 106 | if any(substring in artist_name for substring in [' and ', "&"]): 107 | # 尝试拆分名字. 108 | sp = re.split(r" and |&", artist_name) 109 | artist_name_1 = sp[0] 110 | try: 111 | artist_profile = get_artist_profile(artist_name) 112 | if not artist_profile and artist_name_1 is not None: 113 | artist_profile = get_artist_profile(artist_name_1) 114 | if artist_profile: 115 | artist = artist_profile['artist'] 116 | lastfm_resp['artist']['bio']['content'] = artist['briefDesc'] 117 | lastfm_resp['artist']['bio']['summary'] = artist['briefDesc'] 118 | for image in lastfm_resp['artist']['image']: 119 | if image['size'] in ['mega', 'extralarge', 'large']: 120 | image['#text'] = artist['picUrl'] 121 | image['#text'] = artist['img1v1Url'] 122 | app.logger.info(f"200 GET /lastfm/?{unquote(request.query_string.decode('utf-8'))}") 123 | return jsonify(lastfm_resp) 124 | except: 125 | pass 126 | app.logger.info(f"400 GET /lastfm/?{unquote(request.query_string.decode('utf-8'))}") 127 | abort(400, {"code": 400, "message": f"无法根据 {artist_name} 查询到艺术家"}) 128 | elif method.lower() == "album.getinfo": 129 | lastfm_resp = requests.get(lastfm_api_url, headers=request.headers).json() 130 | artist_name = request.args.get('artist') 131 | if 'error' in lastfm_resp: 132 | app.logger.info(f"400 GET /lastfm/?{unquote(request.query_string.decode('utf-8'))}") 133 | abort(400, {"code": 400, "message": f"无法在lastfm 中查询到 {artist_name}"}) 134 | 135 | # 从请求参数中获取专辑和艺术家信息 136 | artist_name = request.args.get('artist') 137 | album_name = request.args.get('album') 138 | mbid = request.args.get('mbid', "") 139 | 140 | # 查询网易云 141 | if album_info := get_album_info(artist_name, album_name): 142 | album_result = lastfm_resp["album"] 143 | album_result["mbid"] = mbid 144 | album_result["wiki"] = {"summary": album_info['description']} 145 | for image in album_result['image']: 146 | if image['size'] in ['mega', 'extralarge', 'large']: 147 | image['#text'] = album_info['picUrl'] 148 | image['#text'] = album_info['blurPicUrl'] 149 | app.logger.info(f"200 GET /lastfm/?{unquote(request.query_string.decode('utf-8'))}") 150 | download_image_async(album_info['picUrl'], artist_name, album_name) 151 | return jsonify(lastfm_resp) 152 | abort(400, {"code": 400, "message": f"无法根据 {artist_name} + {album_name} 查询到专辑"}) 153 | else: 154 | # 对其他请求直接重定向到原接口 155 | app.logger.info(f"302 GET /lastfm/?{unquote(request.query_string.decode('utf-8'))}") 156 | return redirect(lastfm_api_url) 157 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | GNU GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | Preamble 9 | 10 | The GNU General Public License is a free, copyleft license for 11 | software and other kinds of works. 12 | 13 | The licenses for most software and other practical works are designed 14 | to take away your freedom to share and change the works. By contrast, 15 | the GNU General Public License is intended to guarantee your freedom to 16 | share and change all versions of a program--to make sure it remains free 17 | software for all its users. We, the Free Software Foundation, use the 18 | GNU General Public License for most of our software; it applies also to 19 | any other work released this way by its authors. You can apply it to 20 | your programs, too. 21 | 22 | When we speak of free software, we are referring to freedom, not 23 | price. Our General Public Licenses are designed to make sure that you 24 | have the freedom to distribute copies of free software (and charge for 25 | them if you wish), that you receive source code or can get it if you 26 | want it, that you can change the software or use pieces of it in new 27 | free programs, and that you know you can do these things. 28 | 29 | To protect your rights, we need to prevent others from denying you 30 | these rights or asking you to surrender the rights. Therefore, you have 31 | certain responsibilities if you distribute copies of the software, or if 32 | you modify it: responsibilities to respect the freedom of others. 33 | 34 | For example, if you distribute copies of such a program, whether 35 | gratis or for a fee, you must pass on to the recipients the same 36 | freedoms that you received. You must make sure that they, too, receive 37 | or can get the source code. And you must show them these terms so they 38 | know their rights. 39 | 40 | Developers that use the GNU GPL protect your rights with two steps: 41 | (1) assert copyright on the software, and (2) offer you this License 42 | giving you legal permission to copy, distribute and/or modify it. 43 | 44 | For the developers' and authors' protection, the GPL clearly explains 45 | that there is no warranty for this free software. For both users' and 46 | authors' sake, the GPL requires that modified versions be marked as 47 | changed, so that their problems will not be attributed erroneously to 48 | authors of previous versions. 49 | 50 | Some devices are designed to deny users access to install or run 51 | modified versions of the software inside them, although the manufacturer 52 | can do so. This is fundamentally incompatible with the aim of 53 | protecting users' freedom to change the software. The systematic 54 | pattern of such abuse occurs in the area of products for individuals to 55 | use, which is precisely where it is most unacceptable. Therefore, we 56 | have designed this version of the GPL to prohibit the practice for those 57 | products. If such problems arise substantially in other domains, we 58 | stand ready to extend this provision to those domains in future versions 59 | of the GPL, as needed to protect the freedom of users. 60 | 61 | Finally, every program is threatened constantly by software patents. 62 | States should not allow patents to restrict development and use of 63 | software on general-purpose computers, but in those that do, we wish to 64 | avoid the special danger that patents applied to a free program could 65 | make it effectively proprietary. To prevent this, the GPL assures that 66 | patents cannot be used to render the program non-free. 67 | 68 | The precise terms and conditions for copying, distribution and 69 | modification follow. 70 | 71 | TERMS AND CONDITIONS 72 | 73 | 0. Definitions. 74 | 75 | "This License" refers to version 3 of the GNU General Public License. 76 | 77 | "Copyright" also means copyright-like laws that apply to other kinds of 78 | works, such as semiconductor masks. 79 | 80 | "The Program" refers to any copyrightable work licensed under this 81 | License. Each licensee is addressed as "you". "Licensees" and 82 | "recipients" may be individuals or organizations. 83 | 84 | To "modify" a work means to copy from or adapt all or part of the work 85 | in a fashion requiring copyright permission, other than the making of an 86 | exact copy. The resulting work is called a "modified version" of the 87 | earlier work or a work "based on" the earlier work. 88 | 89 | A "covered work" means either the unmodified Program or a work based 90 | on the Program. 91 | 92 | To "propagate" a work means to do anything with it that, without 93 | permission, would make you directly or secondarily liable for 94 | infringement under applicable copyright law, except executing it on a 95 | computer or modifying a private copy. Propagation includes copying, 96 | distribution (with or without modification), making available to the 97 | public, and in some countries other activities as well. 98 | 99 | To "convey" a work means any kind of propagation that enables other 100 | parties to make or receive copies. Mere interaction with a user through 101 | a computer network, with no transfer of a copy, is not conveying. 102 | 103 | An interactive user interface displays "Appropriate Legal Notices" 104 | to the extent that it includes a convenient and prominently visible 105 | feature that (1) displays an appropriate copyright notice, and (2) 106 | tells the user that there is no warranty for the work (except to the 107 | extent that warranties are provided), that licensees may convey the 108 | work under this License, and how to view a copy of this License. If 109 | the interface presents a list of user commands or options, such as a 110 | menu, a prominent item in the list meets this criterion. 111 | 112 | 1. Source Code. 113 | 114 | The "source code" for a work means the preferred form of the work 115 | for making modifications to it. "Object code" means any non-source 116 | form of a work. 117 | 118 | A "Standard Interface" means an interface that either is an official 119 | standard defined by a recognized standards body, or, in the case of 120 | interfaces specified for a particular programming language, one that 121 | is widely used among developers working in that language. 122 | 123 | The "System Libraries" of an executable work include anything, other 124 | than the work as a whole, that (a) is included in the normal form of 125 | packaging a Major Component, but which is not part of that Major 126 | Component, and (b) serves only to enable use of the work with that 127 | Major Component, or to implement a Standard Interface for which an 128 | implementation is available to the public in source code form. A 129 | "Major Component", in this context, means a major essential component 130 | (kernel, window system, and so on) of the specific operating system 131 | (if any) on which the executable work runs, or a compiler used to 132 | produce the work, or an object code interpreter used to run it. 133 | 134 | The "Corresponding Source" for a work in object code form means all 135 | the source code needed to generate, install, and (for an executable 136 | work) run the object code and to modify the work, including scripts to 137 | control those activities. However, it does not include the work's 138 | System Libraries, or general-purpose tools or generally available free 139 | programs which are used unmodified in performing those activities but 140 | which are not part of the work. For example, Corresponding Source 141 | includes interface definition files associated with source files for 142 | the work, and the source code for shared libraries and dynamically 143 | linked subprograms that the work is specifically designed to require, 144 | such as by intimate data communication or control flow between those 145 | subprograms and other parts of the work. 146 | 147 | The Corresponding Source need not include anything that users 148 | can regenerate automatically from other parts of the Corresponding 149 | Source. 150 | 151 | The Corresponding Source for a work in source code form is that 152 | same work. 153 | 154 | 2. Basic Permissions. 155 | 156 | All rights granted under this License are granted for the term of 157 | copyright on the Program, and are irrevocable provided the stated 158 | conditions are met. This License explicitly affirms your unlimited 159 | permission to run the unmodified Program. The output from running a 160 | covered work is covered by this License only if the output, given its 161 | content, constitutes a covered work. This License acknowledges your 162 | rights of fair use or other equivalent, as provided by copyright law. 163 | 164 | You may make, run and propagate covered works that you do not 165 | convey, without conditions so long as your license otherwise remains 166 | in force. You may convey covered works to others for the sole purpose 167 | of having them make modifications exclusively for you, or provide you 168 | with facilities for running those works, provided that you comply with 169 | the terms of this License in conveying all material for which you do 170 | not control copyright. Those thus making or running the covered works 171 | for you must do so exclusively on your behalf, under your direction 172 | and control, on terms that prohibit them from making any copies of 173 | your copyrighted material outside their relationship with you. 174 | 175 | Conveying under any other circumstances is permitted solely under 176 | the conditions stated below. Sublicensing is not allowed; section 10 177 | makes it unnecessary. 178 | 179 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 180 | 181 | No covered work shall be deemed part of an effective technological 182 | measure under any applicable law fulfilling obligations under article 183 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or 184 | similar laws prohibiting or restricting circumvention of such 185 | measures. 186 | 187 | When you convey a covered work, you waive any legal power to forbid 188 | circumvention of technological measures to the extent such circumvention 189 | is effected by exercising rights under this License with respect to 190 | the covered work, and you disclaim any intention to limit operation or 191 | modification of the work as a means of enforcing, against the work's 192 | users, your or third parties' legal rights to forbid circumvention of 193 | technological measures. 194 | 195 | 4. Conveying Verbatim Copies. 196 | 197 | You may convey verbatim copies of the Program's source code as you 198 | receive it, in any medium, provided that you conspicuously and 199 | appropriately publish on each copy an appropriate copyright notice; 200 | keep intact all notices stating that this License and any 201 | non-permissive terms added in accord with section 7 apply to the code; 202 | keep intact all notices of the absence of any warranty; and give all 203 | recipients a copy of this License along with the Program. 204 | 205 | You may charge any price or no price for each copy that you convey, 206 | and you may offer support or warranty protection for a fee. 207 | 208 | 5. Conveying Modified Source Versions. 209 | 210 | You may convey a work based on the Program, or the modifications to 211 | produce it from the Program, in the form of source code under the 212 | terms of section 4, provided that you also meet all of these conditions: 213 | 214 | a) The work must carry prominent notices stating that you modified 215 | it, and giving a relevant date. 216 | 217 | b) The work must carry prominent notices stating that it is 218 | released under this License and any conditions added under section 219 | 7. This requirement modifies the requirement in section 4 to 220 | "keep intact all notices". 221 | 222 | c) You must license the entire work, as a whole, under this 223 | License to anyone who comes into possession of a copy. This 224 | License will therefore apply, along with any applicable section 7 225 | additional terms, to the whole of the work, and all its parts, 226 | regardless of how they are packaged. This License gives no 227 | permission to license the work in any other way, but it does not 228 | invalidate such permission if you have separately received it. 229 | 230 | d) If the work has interactive user interfaces, each must display 231 | Appropriate Legal Notices; however, if the Program has interactive 232 | interfaces that do not display Appropriate Legal Notices, your 233 | work need not make them do so. 234 | 235 | A compilation of a covered work with other separate and independent 236 | works, which are not by their nature extensions of the covered work, 237 | and which are not combined with it such as to form a larger program, 238 | in or on a volume of a storage or distribution medium, is called an 239 | "aggregate" if the compilation and its resulting copyright are not 240 | used to limit the access or legal rights of the compilation's users 241 | beyond what the individual works permit. Inclusion of a covered work 242 | in an aggregate does not cause this License to apply to the other 243 | parts of the aggregate. 244 | 245 | 6. Conveying Non-Source Forms. 246 | 247 | You may convey a covered work in object code form under the terms 248 | of sections 4 and 5, provided that you also convey the 249 | machine-readable Corresponding Source under the terms of this License, 250 | in one of these ways: 251 | 252 | a) Convey the object code in, or embodied in, a physical product 253 | (including a physical distribution medium), accompanied by the 254 | Corresponding Source fixed on a durable physical medium 255 | customarily used for software interchange. 256 | 257 | b) Convey the object code in, or embodied in, a physical product 258 | (including a physical distribution medium), accompanied by a 259 | written offer, valid for at least three years and valid for as 260 | long as you offer spare parts or customer support for that product 261 | model, to give anyone who possesses the object code either (1) a 262 | copy of the Corresponding Source for all the software in the 263 | product that is covered by this License, on a durable physical 264 | medium customarily used for software interchange, for a price no 265 | more than your reasonable cost of physically performing this 266 | conveying of source, or (2) access to copy the 267 | Corresponding Source from a network server at no charge. 268 | 269 | c) Convey individual copies of the object code with a copy of the 270 | written offer to provide the Corresponding Source. This 271 | alternative is allowed only occasionally and noncommercially, and 272 | only if you received the object code with such an offer, in accord 273 | with subsection 6b. 274 | 275 | d) Convey the object code by offering access from a designated 276 | place (gratis or for a charge), and offer equivalent access to the 277 | Corresponding Source in the same way through the same place at no 278 | further charge. You need not require recipients to copy the 279 | Corresponding Source along with the object code. If the place to 280 | copy the object code is a network server, the Corresponding Source 281 | may be on a different server (operated by you or a third party) 282 | that supports equivalent copying facilities, provided you maintain 283 | clear directions next to the object code saying where to find the 284 | Corresponding Source. Regardless of what server hosts the 285 | Corresponding Source, you remain obligated to ensure that it is 286 | available for as long as needed to satisfy these requirements. 287 | 288 | e) Convey the object code using peer-to-peer transmission, provided 289 | you inform other peers where the object code and Corresponding 290 | Source of the work are being offered to the general public at no 291 | charge under subsection 6d. 292 | 293 | A separable portion of the object code, whose source code is excluded 294 | from the Corresponding Source as a System Library, need not be 295 | included in conveying the object code work. 296 | 297 | A "User Product" is either (1) a "consumer product", which means any 298 | tangible personal property which is normally used for personal, family, 299 | or household purposes, or (2) anything designed or sold for incorporation 300 | into a dwelling. In determining whether a product is a consumer product, 301 | doubtful cases shall be resolved in favor of coverage. For a particular 302 | product received by a particular user, "normally used" refers to a 303 | typical or common use of that class of product, regardless of the status 304 | of the particular user or of the way in which the particular user 305 | actually uses, or expects or is expected to use, the product. A product 306 | is a consumer product regardless of whether the product has substantial 307 | commercial, industrial or non-consumer uses, unless such uses represent 308 | the only significant mode of use of the product. 309 | 310 | "Installation Information" for a User Product means any methods, 311 | procedures, authorization keys, or other information required to install 312 | and execute modified versions of a covered work in that User Product from 313 | a modified version of its Corresponding Source. The information must 314 | suffice to ensure that the continued functioning of the modified object 315 | code is in no case prevented or interfered with solely because 316 | modification has been made. 317 | 318 | If you convey an object code work under this section in, or with, or 319 | specifically for use in, a User Product, and the conveying occurs as 320 | part of a transaction in which the right of possession and use of the 321 | User Product is transferred to the recipient in perpetuity or for a 322 | fixed term (regardless of how the transaction is characterized), the 323 | Corresponding Source conveyed under this section must be accompanied 324 | by the Installation Information. But this requirement does not apply 325 | if neither you nor any third party retains the ability to install 326 | modified object code on the User Product (for example, the work has 327 | been installed in ROM). 328 | 329 | The requirement to provide Installation Information does not include a 330 | requirement to continue to provide support service, warranty, or updates 331 | for a work that has been modified or installed by the recipient, or for 332 | the User Product in which it has been modified or installed. Access to a 333 | network may be denied when the modification itself materially and 334 | adversely affects the operation of the network or violates the rules and 335 | protocols for communication across the network. 336 | 337 | Corresponding Source conveyed, and Installation Information provided, 338 | in accord with this section must be in a format that is publicly 339 | documented (and with an implementation available to the public in 340 | source code form), and must require no special password or key for 341 | unpacking, reading or copying. 342 | 343 | 7. Additional Terms. 344 | 345 | "Additional permissions" are terms that supplement the terms of this 346 | License by making exceptions from one or more of its conditions. 347 | Additional permissions that are applicable to the entire Program shall 348 | be treated as though they were included in this License, to the extent 349 | that they are valid under applicable law. If additional permissions 350 | apply only to part of the Program, that part may be used separately 351 | under those permissions, but the entire Program remains governed by 352 | this License without regard to the additional permissions. 353 | 354 | When you convey a copy of a covered work, you may at your option 355 | remove any additional permissions from that copy, or from any part of 356 | it. (Additional permissions may be written to require their own 357 | removal in certain cases when you modify the work.) You may place 358 | additional permissions on material, added by you to a covered work, 359 | for which you have or can give appropriate copyright permission. 360 | 361 | Notwithstanding any other provision of this License, for material you 362 | add to a covered work, you may (if authorized by the copyright holders of 363 | that material) supplement the terms of this License with terms: 364 | 365 | a) Disclaiming warranty or limiting liability differently from the 366 | terms of sections 15 and 16 of this License; or 367 | 368 | b) Requiring preservation of specified reasonable legal notices or 369 | author attributions in that material or in the Appropriate Legal 370 | Notices displayed by works containing it; or 371 | 372 | c) Prohibiting misrepresentation of the origin of that material, or 373 | requiring that modified versions of such material be marked in 374 | reasonable ways as different from the original version; or 375 | 376 | d) Limiting the use for publicity purposes of names of licensors or 377 | authors of the material; or 378 | 379 | e) Declining to grant rights under trademark law for use of some 380 | trade names, trademarks, or service marks; or 381 | 382 | f) Requiring indemnification of licensors and authors of that 383 | material by anyone who conveys the material (or modified versions of 384 | it) with contractual assumptions of liability to the recipient, for 385 | any liability that these contractual assumptions directly impose on 386 | those licensors and authors. 387 | 388 | All other non-permissive additional terms are considered "further 389 | restrictions" within the meaning of section 10. If the Program as you 390 | received it, or any part of it, contains a notice stating that it is 391 | governed by this License along with a term that is a further 392 | restriction, you may remove that term. If a license document contains 393 | a further restriction but permits relicensing or conveying under this 394 | License, you may add to a covered work material governed by the terms 395 | of that license document, provided that the further restriction does 396 | not survive such relicensing or conveying. 397 | 398 | If you add terms to a covered work in accord with this section, you 399 | must place, in the relevant source files, a statement of the 400 | additional terms that apply to those files, or a notice indicating 401 | where to find the applicable terms. 402 | 403 | Additional terms, permissive or non-permissive, may be stated in the 404 | form of a separately written license, or stated as exceptions; 405 | the above requirements apply either way. 406 | 407 | 8. Termination. 408 | 409 | You may not propagate or modify a covered work except as expressly 410 | provided under this License. Any attempt otherwise to propagate or 411 | modify it is void, and will automatically terminate your rights under 412 | this License (including any patent licenses granted under the third 413 | paragraph of section 11). 414 | 415 | However, if you cease all violation of this License, then your 416 | license from a particular copyright holder is reinstated (a) 417 | provisionally, unless and until the copyright holder explicitly and 418 | finally terminates your license, and (b) permanently, if the copyright 419 | holder fails to notify you of the violation by some reasonable means 420 | prior to 60 days after the cessation. 421 | 422 | Moreover, your license from a particular copyright holder is 423 | reinstated permanently if the copyright holder notifies you of the 424 | violation by some reasonable means, this is the first time you have 425 | received notice of violation of this License (for any work) from that 426 | copyright holder, and you cure the violation prior to 30 days after 427 | your receipt of the notice. 428 | 429 | Termination of your rights under this section does not terminate the 430 | licenses of parties who have received copies or rights from you under 431 | this License. If your rights have been terminated and not permanently 432 | reinstated, you do not qualify to receive new licenses for the same 433 | material under section 10. 434 | 435 | 9. Acceptance Not Required for Having Copies. 436 | 437 | You are not required to accept this License in order to receive or 438 | run a copy of the Program. Ancillary propagation of a covered work 439 | occurring solely as a consequence of using peer-to-peer transmission 440 | to receive a copy likewise does not require acceptance. However, 441 | nothing other than this License grants you permission to propagate or 442 | modify any covered work. These actions infringe copyright if you do 443 | not accept this License. Therefore, by modifying or propagating a 444 | covered work, you indicate your acceptance of this License to do so. 445 | 446 | 10. Automatic Licensing of Downstream Recipients. 447 | 448 | Each time you convey a covered work, the recipient automatically 449 | receives a license from the original licensors, to run, modify and 450 | propagate that work, subject to this License. You are not responsible 451 | for enforcing compliance by third parties with this License. 452 | 453 | An "entity transaction" is a transaction transferring control of an 454 | organization, or substantially all assets of one, or subdividing an 455 | organization, or merging organizations. If propagation of a covered 456 | work results from an entity transaction, each party to that 457 | transaction who receives a copy of the work also receives whatever 458 | licenses to the work the party's predecessor in interest had or could 459 | give under the previous paragraph, plus a right to possession of the 460 | Corresponding Source of the work from the predecessor in interest, if 461 | the predecessor has it or can get it with reasonable efforts. 462 | 463 | You may not impose any further restrictions on the exercise of the 464 | rights granted or affirmed under this License. For example, you may 465 | not impose a license fee, royalty, or other charge for exercise of 466 | rights granted under this License, and you may not initiate litigation 467 | (including a cross-claim or counterclaim in a lawsuit) alleging that 468 | any patent claim is infringed by making, using, selling, offering for 469 | sale, or importing the Program or any portion of it. 470 | 471 | 11. Patents. 472 | 473 | A "contributor" is a copyright holder who authorizes use under this 474 | License of the Program or a work on which the Program is based. The 475 | work thus licensed is called the contributor's "contributor version". 476 | 477 | A contributor's "essential patent claims" are all patent claims 478 | owned or controlled by the contributor, whether already acquired or 479 | hereafter acquired, that would be infringed by some manner, permitted 480 | by this License, of making, using, or selling its contributor version, 481 | but do not include claims that would be infringed only as a 482 | consequence of further modification of the contributor version. For 483 | purposes of this definition, "control" includes the right to grant 484 | patent sublicenses in a manner consistent with the requirements of 485 | this License. 486 | 487 | Each contributor grants you a non-exclusive, worldwide, royalty-free 488 | patent license under the contributor's essential patent claims, to 489 | make, use, sell, offer for sale, import and otherwise run, modify and 490 | propagate the contents of its contributor version. 491 | 492 | In the following three paragraphs, a "patent license" is any express 493 | agreement or commitment, however denominated, not to enforce a patent 494 | (such as an express permission to practice a patent or covenant not to 495 | sue for patent infringement). To "grant" such a patent license to a 496 | party means to make such an agreement or commitment not to enforce a 497 | patent against the party. 498 | 499 | If you convey a covered work, knowingly relying on a patent license, 500 | and the Corresponding Source of the work is not available for anyone 501 | to copy, free of charge and under the terms of this License, through a 502 | publicly available network server or other readily accessible means, 503 | then you must either (1) cause the Corresponding Source to be so 504 | available, or (2) arrange to deprive yourself of the benefit of the 505 | patent license for this particular work, or (3) arrange, in a manner 506 | consistent with the requirements of this License, to extend the patent 507 | license to downstream recipients. "Knowingly relying" means you have 508 | actual knowledge that, but for the patent license, your conveying the 509 | covered work in a country, or your recipient's use of the covered work 510 | in a country, would infringe one or more identifiable patents in that 511 | country that you have reason to believe are valid. 512 | 513 | If, pursuant to or in connection with a single transaction or 514 | arrangement, you convey, or propagate by procuring conveyance of, a 515 | covered work, and grant a patent license to some of the parties 516 | receiving the covered work authorizing them to use, propagate, modify 517 | or convey a specific copy of the covered work, then the patent license 518 | you grant is automatically extended to all recipients of the covered 519 | work and works based on it. 520 | 521 | A patent license is "discriminatory" if it does not include within 522 | the scope of its coverage, prohibits the exercise of, or is 523 | conditioned on the non-exercise of one or more of the rights that are 524 | specifically granted under this License. You may not convey a covered 525 | work if you are a party to an arrangement with a third party that is 526 | in the business of distributing software, under which you make payment 527 | to the third party based on the extent of your activity of conveying 528 | the work, and under which the third party grants, to any of the 529 | parties who would receive the covered work from you, a discriminatory 530 | patent license (a) in connection with copies of the covered work 531 | conveyed by you (or copies made from those copies), or (b) primarily 532 | for and in connection with specific products or compilations that 533 | contain the covered work, unless you entered into that arrangement, 534 | or that patent license was granted, prior to 28 March 2007. 535 | 536 | Nothing in this License shall be construed as excluding or limiting 537 | any implied license or other defenses to infringement that may 538 | otherwise be available to you under applicable patent law. 539 | 540 | 12. No Surrender of Others' Freedom. 541 | 542 | If conditions are imposed on you (whether by court order, agreement or 543 | otherwise) that contradict the conditions of this License, they do not 544 | excuse you from the conditions of this License. If you cannot convey a 545 | covered work so as to satisfy simultaneously your obligations under this 546 | License and any other pertinent obligations, then as a consequence you may 547 | not convey it at all. For example, if you agree to terms that obligate you 548 | to collect a royalty for further conveying from those to whom you convey 549 | the Program, the only way you could satisfy both those terms and this 550 | License would be to refrain entirely from conveying the Program. 551 | 552 | 13. Use with the GNU Affero General Public License. 553 | 554 | Notwithstanding any other provision of this License, you have 555 | permission to link or combine any covered work with a work licensed 556 | under version 3 of the GNU Affero General Public License into a single 557 | combined work, and to convey the resulting work. The terms of this 558 | License will continue to apply to the part which is the covered work, 559 | but the special requirements of the GNU Affero General Public License, 560 | section 13, concerning interaction through a network will apply to the 561 | combination as such. 562 | 563 | 14. Revised Versions of this License. 564 | 565 | The Free Software Foundation may publish revised and/or new versions of 566 | the GNU General Public License from time to time. Such new versions will 567 | be similar in spirit to the present version, but may differ in detail to 568 | address new problems or concerns. 569 | 570 | Each version is given a distinguishing version number. If the 571 | Program specifies that a certain numbered version of the GNU General 572 | Public License "or any later version" applies to it, you have the 573 | option of following the terms and conditions either of that numbered 574 | version or of any later version published by the Free Software 575 | Foundation. If the Program does not specify a version number of the 576 | GNU General Public License, you may choose any version ever published 577 | by the Free Software Foundation. 578 | 579 | If the Program specifies that a proxy can decide which future 580 | versions of the GNU General Public License can be used, that proxy's 581 | public statement of acceptance of a version permanently authorizes you 582 | to choose that version for the Program. 583 | 584 | Later license versions may give you additional or different 585 | permissions. However, no additional obligations are imposed on any 586 | author or copyright holder as a result of your choosing to follow a 587 | later version. 588 | 589 | 15. Disclaimer of Warranty. 590 | 591 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 592 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 593 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 594 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 595 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 596 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 597 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 598 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 599 | 600 | 16. Limitation of Liability. 601 | 602 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 603 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 604 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 605 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 606 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 607 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 608 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 609 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 610 | SUCH DAMAGES. 611 | 612 | 17. Interpretation of Sections 15 and 16. 613 | 614 | If the disclaimer of warranty and limitation of liability provided 615 | above cannot be given local legal effect according to their terms, 616 | reviewing courts shall apply local law that most closely approximates 617 | an absolute waiver of all civil liability in connection with the 618 | Program, unless a warranty or assumption of liability accompanies a 619 | copy of the Program in return for a fee. 620 | 621 | END OF TERMS AND CONDITIONS 622 | 623 | How to Apply These Terms to Your New Programs 624 | 625 | If you develop a new program, and you want it to be of the greatest 626 | possible use to the public, the best way to achieve this is to make it 627 | free software which everyone can redistribute and change under these terms. 628 | 629 | To do so, attach the following notices to the program. It is safest 630 | to attach them to the start of each source file to most effectively 631 | state the exclusion of warranty; and each file should have at least 632 | the "copyright" line and a pointer to where the full notice is found. 633 | 634 | 635 | Copyright (C) 636 | 637 | This program is free software: you can redistribute it and/or modify 638 | it under the terms of the GNU General Public License as published by 639 | the Free Software Foundation, either version 3 of the License, or 640 | (at your option) any later version. 641 | 642 | This program is distributed in the hope that it will be useful, 643 | but WITHOUT ANY WARRANTY; without even the implied warranty of 644 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 645 | GNU General Public License for more details. 646 | 647 | You should have received a copy of the GNU General Public License 648 | along with this program. If not, see . 649 | 650 | Also add information on how to contact you by electronic and paper mail. 651 | 652 | If the program does terminal interaction, make it output a short 653 | notice like this when it starts in an interactive mode: 654 | 655 | Copyright (C) 656 | This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 657 | This is free software, and you are welcome to redistribute it 658 | under certain conditions; type `show c' for details. 659 | 660 | The hypothetical commands `show w' and `show c' should show the appropriate 661 | parts of the General Public License. Of course, your program's commands 662 | might be different; for a GUI interface, you would use an "about box". 663 | 664 | You should also get your employer (if you work as a programmer) or school, 665 | if any, to sign a "copyright disclaimer" for the program, if necessary. 666 | For more information on this, and how to apply and follow the GNU GPL, see 667 | . 668 | 669 | The GNU General Public License does not permit incorporating your program 670 | into proprietary programs. If your program is a subroutine library, you 671 | may consider it more useful to permit linking proprietary applications with 672 | the library. If this is what you want to do, use the GNU Lesser General 673 | Public License instead of this License. But first, please read 674 | . -------------------------------------------------------------------------------- /ttscn.py: -------------------------------------------------------------------------------- 1 | """ 2 | 此方法用于繁体字转简体字 3 | 数据来源 BYVoid/OpenCC 4 | 原内容通过 Apache-2.0 协议开源 5 | 数据为2023/11/25 6 | 部分修改,不转换 剋->克 等简体中文保留的字符 7 | """ 8 | 9 | ts_dic = { 10 | "㑮": "𫝈", 11 | "㑯": "㑔", 12 | "㑳": "㑇", 13 | "㑶": "㐹", 14 | "㒓": "𠉂", 15 | "㓄": "𪠟", 16 | "㓨": "刾", 17 | "㔋": "𪟎", 18 | "㖮": "𪠵", 19 | "㗲": "𠵾", 20 | "㗿": "𪡛", 21 | "㘉": "𠰱", 22 | "㘓": "𪢌", 23 | "㘚": "㘎", 24 | "㛝": "𫝦", 25 | "㜄": "㚯", 26 | "㜏": "㛣", 27 | "㜐": "𫝧", 28 | "㜗": "𡞋", 29 | "㜢": "𡞱", 30 | "㜷": "𡝠", 31 | "㞞": "𪨊", 32 | "㟺": "𪩇", 33 | "㠏": "㟆", 34 | "㠣": "𫵷", 35 | "㢗": "𪪑", 36 | "㢝": "𢋈", 37 | "㥮": "㤘", 38 | "㦎": "𢛯", 39 | "㦛": "𢗓", 40 | "㦞": "𪫷", 41 | "㨻": "𪮃", 42 | "㩋": "𪮋", 43 | "㩜": "㨫", 44 | "㩳": "㧐", 45 | "㩵": "擜", 46 | "㪎": "𪯋", 47 | "㯤": "𣘐", 48 | "㰙": "𣗙", 49 | "㵗": "𣳆", 50 | "㵾": "𪷍", 51 | "㶆": "𫞛", 52 | "㷍": "𤆢", 53 | "㷿": "𤈷", 54 | "㸇": "𤎺", 55 | "㹽": "𫞣", 56 | "㺏": "𤠋", 57 | "㺜": "𪺻", 58 | "㻶": "𪼋", 59 | "㿖": "𪽮", 60 | "㿗": "𤻊", 61 | "㿧": "𤽯", 62 | "䀉": "𥁢", 63 | "䀹": "𥅴", 64 | "䁪": "𥇢", 65 | "䁻": "䀥", 66 | "䂎": "𥎝", 67 | "䃮": "鿎", 68 | "䅐": "𫀨", 69 | "䅳": "𫀬", 70 | "䆉": "𫁂", 71 | "䉑": "𫁲", 72 | "䉙": "𥬀", 73 | "䉬": "𫂈", 74 | "䉲": "𥮜", 75 | "䉶": "𫁷", 76 | "䊭": "𥺅", 77 | "䊷": "䌶", 78 | "䊺": "𫄚", 79 | "䋃": "𫄜", 80 | "䋔": "𫄞", 81 | "䋙": "䌺", 82 | "䋚": "䌻", 83 | "䋦": "𫄩", 84 | "䋹": "䌿", 85 | "䋻": "䌾", 86 | "䋼": "𫄮", 87 | "䋿": "𦈓", 88 | "䌈": "𦈖", 89 | "䌋": "𦈘", 90 | "䌖": "𦈜", 91 | "䌝": "𦈟", 92 | "䌟": "𦈞", 93 | "䌥": "𦈠", 94 | "䌰": "𦈙", 95 | "䍤": "𫅅", 96 | "䍦": "䍠", 97 | "䍽": "𦍠", 98 | "䎙": "𫅭", 99 | "䎱": "䎬", 100 | "䓣": "𬜯", 101 | "䕤": "𫟕", 102 | "䕳": "𦰴", 103 | "䖅": "𫟑", 104 | "䗅": "𫊪", 105 | "䗿": "𧉞", 106 | "䙔": "𫋲", 107 | "䙡": "䙌", 108 | "䙱": "𧜭", 109 | "䚩": "𫌯", 110 | "䛄": "𫍠", 111 | "䛳": "𫍫", 112 | "䜀": "䜧", 113 | "䜖": "𫟢", 114 | "䝭": "𫎧", 115 | "䝻": "𧹕", 116 | "䝼": "䞍", 117 | "䞈": "𧹑", 118 | "䞋": "𫎪", 119 | "䞓": "𫎭", 120 | "䟃": "𫎺", 121 | "䟆": "𫎳", 122 | "䟐": "𫎱", 123 | "䠆": "𫏃", 124 | "䠱": "𨅛", 125 | "䡐": "𫟤", 126 | "䡩": "𫟥", 127 | "䡵": "𫟦", 128 | "䢨": "𨑹", 129 | "䤤": "𫟺", 130 | "䥄": "𫠀", 131 | "䥇": "䦂", 132 | "䥑": "鿏", 133 | "䥕": "𬭯", 134 | "䥗": "𫔋", 135 | "䥩": "𨱖", 136 | "䥯": "𫔆", 137 | "䥱": "䥾", 138 | "䦘": "𨸄", 139 | "䦛": "䦶", 140 | "䦟": "䦷", 141 | "䦯": "𫔵", 142 | "䦳": "𨷿", 143 | "䧢": "𨸟", 144 | "䪊": "𫖅", 145 | "䪏": "𩏼", 146 | "䪗": "𩐀", 147 | "䪘": "𩏿", 148 | "䪴": "𫖫", 149 | "䪾": "𫖬", 150 | "䫀": "𫖱", 151 | "䫂": "𫖰", 152 | "䫟": "𫖲", 153 | "䫴": "𩖗", 154 | "䫶": "𫖺", 155 | "䫻": "𫗇", 156 | "䫾": "𫠈", 157 | "䬓": "𫗊", 158 | "䬘": "𩙮", 159 | "䬝": "𩙯", 160 | "䬞": "𩙧", 161 | "䬧": "𫗟", 162 | "䭀": "𩠇", 163 | "䭃": "𩠈", 164 | "䭑": "𫗱", 165 | "䭔": "𫗰", 166 | "䭿": "𩧭", 167 | "䮄": "𫠊", 168 | "䮝": "𩧰", 169 | "䮞": "𩨁", 170 | "䮠": "𩧿", 171 | "䮫": "𩨇", 172 | "䮰": "𫘮", 173 | "䮳": "𩨏", 174 | "䮾": "𩧪", 175 | "䯀": "䯅", 176 | "䯤": "𩩈", 177 | "䰾": "鲃", 178 | "䱀": "𫚐", 179 | "䱁": "𫚏", 180 | "䱙": "𩾈", 181 | "䱧": "𫚠", 182 | "䱬": "𩾊", 183 | "䱰": "𩾋", 184 | "䱷": "䲣", 185 | "䱸": "𫠑", 186 | "䱽": "䲝", 187 | "䲁": "鳚", 188 | "䲅": "𫚜", 189 | "䲖": "𩾂", 190 | "䲘": "鳤", 191 | "䲰": "𪉂", 192 | "䳜": "𫛬", 193 | "䳢": "𫛰", 194 | "䳤": "𫛮", 195 | "䳧": "𫛺", 196 | "䳫": "𫛼", 197 | "䴉": "鹮", 198 | "䴋": "𫜅", 199 | "䴬": "𪎈", 200 | "䴱": "𫜒", 201 | "䴴": "𪎋", 202 | "䴽": "𫜔", 203 | "䵳": "𪑅", 204 | "䵴": "𫜙", 205 | "䶕": "𫜨", 206 | "䶲": "𫜳", 207 | "丟": "丢", 208 | "並": "并", 209 | "乾": "干", 210 | "亂": "乱", 211 | "亙": "亘", 212 | "亞": "亚", 213 | "佇": "伫", 214 | "佈": "布", 215 | "佔": "占", 216 | "併": "并", 217 | "來": "来", 218 | "侖": "仑", 219 | "侶": "侣", 220 | "侷": "局", 221 | "俁": "俣", 222 | "係": "系", 223 | "俓": "𠇹", 224 | "俔": "伣", 225 | "俠": "侠", 226 | "俥": "伡", 227 | "俬": "私", 228 | "倀": "伥", 229 | "倆": "俩", 230 | "倈": "俫", 231 | "倉": "仓", 232 | "個": "个", 233 | "們": "们", 234 | "倖": "幸", 235 | "倫": "伦", 236 | "倲": "㑈", 237 | "偉": "伟", 238 | "偑": "㐽", 239 | "側": "侧", 240 | "偵": "侦", 241 | "偽": "伪", 242 | "傌": "㐷", 243 | "傑": "杰", 244 | "傖": "伧", 245 | "傘": "伞", 246 | "備": "备", 247 | "傢": "家", 248 | "傭": "佣", 249 | "傯": "偬", 250 | "傳": "传", 251 | "傴": "伛", 252 | "債": "债", 253 | "傷": "伤", 254 | "傾": "倾", 255 | "僂": "偻", 256 | "僅": "仅", 257 | "僉": "佥", 258 | "僑": "侨", 259 | "僕": "仆", 260 | "僞": "伪", 261 | "僤": "𫢸", 262 | "僥": "侥", 263 | "僨": "偾", 264 | "僱": "雇", 265 | "價": "价", 266 | "儀": "仪", 267 | "儁": "俊", 268 | "儂": "侬", 269 | "億": "亿", 270 | "儈": "侩", 271 | "儉": "俭", 272 | "儎": "傤", 273 | "儐": "傧", 274 | "儔": "俦", 275 | "儕": "侪", 276 | "儘": "尽", 277 | "償": "偿", 278 | "儣": "𠆲", 279 | "優": "优", 280 | "儭": "𠋆", 281 | "儲": "储", 282 | "儷": "俪", 283 | "儸": "㑩", 284 | "儺": "傩", 285 | "儻": "傥", 286 | "儼": "俨", 287 | "兇": "凶", 288 | "兌": "兑", 289 | "兒": "儿", 290 | "兗": "兖", 291 | "內": "内", 292 | "兩": "两", 293 | "冊": "册", 294 | "冑": "胄", 295 | "冪": "幂", 296 | "凈": "净", 297 | "凍": "冻", 298 | "凙": "𪞝", 299 | "凜": "凛", 300 | "凱": "凯", 301 | "別": "别", 302 | "刪": "删", 303 | "剄": "刭", 304 | "則": "则", 305 | "剎": "刹", 306 | "剗": "刬", 307 | "剛": "刚", 308 | "剝": "剥", 309 | "剮": "剐", 310 | "剴": "剀", 311 | "創": "创", 312 | "剷": "铲", 313 | "剾": "𠛅", 314 | "劃": "划", 315 | "劇": "剧", 316 | "劉": "刘", 317 | "劊": "刽", 318 | "劌": "刿", 319 | "劍": "剑", 320 | "劏": "㓥", 321 | "劑": "剂", 322 | "劚": "㔉", 323 | "勁": "劲", 324 | "勑": "𠡠", 325 | "動": "动", 326 | "務": "务", 327 | "勛": "勋", 328 | "勝": "胜", 329 | "勞": "劳", 330 | "勢": "势", 331 | "勣": "𪟝", 332 | "勩": "勚", 333 | "勱": "劢", 334 | "勳": "勋", 335 | "勵": "励", 336 | "勸": "劝", 337 | "勻": "匀", 338 | "匭": "匦", 339 | "匯": "汇", 340 | "匱": "匮", 341 | "區": "区", 342 | "協": "协", 343 | "卹": "恤", 344 | "卻": "却", 345 | "卽": "即", 346 | "厙": "厍", 347 | "厠": "厕", 348 | "厤": "历", 349 | "厭": "厌", 350 | "厲": "厉", 351 | "厴": "厣", 352 | "參": "参", 353 | "叄": "叁", 354 | "叢": "丛", 355 | "吒": "咤", 356 | "吳": "吴", 357 | "吶": "呐", 358 | "呂": "吕", 359 | "咼": "呙", 360 | "員": "员", 361 | "哯": "𠯟", 362 | "唄": "呗", 363 | "唓": "𪠳", 364 | "唸": "念", 365 | "問": "问", 366 | "啓": "启", 367 | "啞": "哑", 368 | "啟": "启", 369 | "啢": "唡", 370 | "喎": "㖞", 371 | "喚": "唤", 372 | "喪": "丧", 373 | "喫": "吃", 374 | "喬": "乔", 375 | "單": "单", 376 | "喲": "哟", 377 | "嗆": "呛", 378 | "嗇": "啬", 379 | "嗊": "唝", 380 | "嗎": "吗", 381 | "嗚": "呜", 382 | "嗩": "唢", 383 | "嗰": "𠮶", 384 | "嗶": "哔", 385 | "嗹": "𪡏", 386 | "嘆": "叹", 387 | "嘍": "喽", 388 | "嘓": "啯", 389 | "嘔": "呕", 390 | "嘖": "啧", 391 | "嘗": "尝", 392 | "嘜": "唛", 393 | "嘩": "哗", 394 | "嘪": "𪡃", 395 | "嘮": "唠", 396 | "嘯": "啸", 397 | "嘰": "叽", 398 | "嘳": "𪡞", 399 | "嘵": "哓", 400 | "嘸": "呒", 401 | "嘺": "𪡀", 402 | "嘽": "啴", 403 | "噁": "恶", 404 | "噅": "𠯠", 405 | "噓": "嘘", 406 | "噚": "㖊", 407 | "噝": "咝", 408 | "噞": "𪡋", 409 | "噠": "哒", 410 | "噥": "哝", 411 | "噦": "哕", 412 | "噯": "嗳", 413 | "噲": "哙", 414 | "噴": "喷", 415 | "噸": "吨", 416 | "噹": "当", 417 | "嚀": "咛", 418 | "嚇": "吓", 419 | "嚌": "哜", 420 | "嚐": "尝", 421 | "嚕": "噜", 422 | "嚙": "啮", 423 | "嚛": "𪠸", 424 | "嚥": "咽", 425 | "嚦": "呖", 426 | "嚧": "𠰷", 427 | "嚨": "咙", 428 | "嚮": "向", 429 | "嚲": "亸", 430 | "嚳": "喾", 431 | "嚴": "严", 432 | "嚶": "嘤", 433 | "嚽": "𪢕", 434 | "囀": "啭", 435 | "囁": "嗫", 436 | "囂": "嚣", 437 | "囃": "𠱞", 438 | "囅": "冁", 439 | "囈": "呓", 440 | "囉": "啰", 441 | "囌": "苏", 442 | "囑": "嘱", 443 | "囒": "𪢠", 444 | "囪": "囱", 445 | "圇": "囵", 446 | "國": "国", 447 | "圍": "围", 448 | "園": "园", 449 | "圓": "圆", 450 | "圖": "图", 451 | "團": "团", 452 | "圞": "𪢮", 453 | "垻": "坝", 454 | "埡": "垭", 455 | "埨": "𫭢", 456 | "埬": "𪣆", 457 | "埰": "采", 458 | "執": "执", 459 | "堅": "坚", 460 | "堊": "垩", 461 | "堖": "垴", 462 | "堚": "𪣒", 463 | "堝": "埚", 464 | "堯": "尧", 465 | "報": "报", 466 | "場": "场", 467 | "塊": "块", 468 | "塋": "茔", 469 | "塏": "垲", 470 | "塒": "埘", 471 | "塗": "涂", 472 | "塚": "冢", 473 | "塢": "坞", 474 | "塤": "埙", 475 | "塵": "尘", 476 | "塸": "𫭟", 477 | "塹": "堑", 478 | "塿": "𪣻", 479 | "墊": "垫", 480 | "墜": "坠", 481 | "墠": "𫮃", 482 | "墮": "堕", 483 | "墰": "坛", 484 | "墲": "𪢸", 485 | "墳": "坟", 486 | "墶": "垯", 487 | "墻": "墙", 488 | "墾": "垦", 489 | "壇": "坛", 490 | "壈": "𡒄", 491 | "壋": "垱", 492 | "壎": "埙", 493 | "壓": "压", 494 | "壗": "𡋤", 495 | "壘": "垒", 496 | "壙": "圹", 497 | "壚": "垆", 498 | "壜": "坛", 499 | "壞": "坏", 500 | "壟": "垄", 501 | "壠": "垅", 502 | "壢": "坜", 503 | "壣": "𪤚", 504 | "壩": "坝", 505 | "壪": "塆", 506 | "壯": "壮", 507 | "壺": "壶", 508 | "壼": "壸", 509 | "壽": "寿", 510 | "夠": "够", 511 | "夢": "梦", 512 | "夥": "伙", 513 | "夾": "夹", 514 | "奐": "奂", 515 | "奧": "奥", 516 | "奩": "奁", 517 | "奪": "夺", 518 | "奬": "奖", 519 | "奮": "奋", 520 | "奼": "姹", 521 | "妝": "妆", 522 | "姍": "姗", 523 | "姦": "奸", 524 | "娙": "𫰛", 525 | "娛": "娱", 526 | "婁": "娄", 527 | "婡": "𫝫", 528 | "婦": "妇", 529 | "婭": "娅", 530 | "媈": "𫝨", 531 | "媧": "娲", 532 | "媯": "妫", 533 | "媰": "㛀", 534 | "媼": "媪", 535 | "媽": "妈", 536 | "嫋": "袅", 537 | "嫗": "妪", 538 | "嫵": "妩", 539 | "嫺": "娴", 540 | "嫻": "娴", 541 | "嫿": "婳", 542 | "嬀": "妫", 543 | "嬃": "媭", 544 | "嬇": "𫝬", 545 | "嬈": "娆", 546 | "嬋": "婵", 547 | "嬌": "娇", 548 | "嬙": "嫱", 549 | "嬡": "嫒", 550 | "嬣": "𪥰", 551 | "嬤": "嬷", 552 | "嬦": "𫝩", 553 | "嬪": "嫔", 554 | "嬰": "婴", 555 | "嬸": "婶", 556 | "嬻": "𪥿", 557 | "孃": "娘", 558 | "孄": "𫝮", 559 | "孆": "𫝭", 560 | "孇": "𪥫", 561 | "孋": "㛤", 562 | "孌": "娈", 563 | "孎": "𡠟", 564 | "孫": "孙", 565 | "學": "学", 566 | "孻": "𡥧", 567 | "孾": "𪧀", 568 | "孿": "孪", 569 | "宮": "宫", 570 | "寀": "采", 571 | "寠": "𪧘", 572 | "寢": "寝", 573 | "實": "实", 574 | "寧": "宁", 575 | "審": "审", 576 | "寫": "写", 577 | "寬": "宽", 578 | "寵": "宠", 579 | "寶": "宝", 580 | "將": "将", 581 | "專": "专", 582 | "尋": "寻", 583 | "對": "对", 584 | "導": "导", 585 | "尷": "尴", 586 | "屆": "届", 587 | "屍": "尸", 588 | "屓": "屃", 589 | "屜": "屉", 590 | "屢": "屡", 591 | "層": "层", 592 | "屨": "屦", 593 | "屩": "𪨗", 594 | "屬": "属", 595 | "岡": "冈", 596 | "峯": "峰", 597 | "峴": "岘", 598 | "島": "岛", 599 | "峽": "峡", 600 | "崍": "崃", 601 | "崑": "昆", 602 | "崗": "岗", 603 | "崙": "仑", 604 | "崢": "峥", 605 | "崬": "岽", 606 | "嵐": "岚", 607 | "嵗": "岁", 608 | "嵼": "𡶴", 609 | "嵽": "𫶇", 610 | "嵾": "㟥", 611 | "嶁": "嵝", 612 | "嶄": "崭", 613 | "嶇": "岖", 614 | "嶈": "𡺃", 615 | "嶔": "嵚", 616 | "嶗": "崂", 617 | "嶘": "𡺄", 618 | "嶠": "峤", 619 | "嶢": "峣", 620 | "嶧": "峄", 621 | "嶨": "峃", 622 | "嶮": "崄", 623 | "嶸": "嵘", 624 | "嶹": "𫝵", 625 | "嶺": "岭", 626 | "嶼": "屿", 627 | "嶽": "岳", 628 | "巊": "𪩎", 629 | "巋": "岿", 630 | "巒": "峦", 631 | "巔": "巅", 632 | "巖": "岩", 633 | "巗": "𪨷", 634 | "巘": "𪩘", 635 | "巰": "巯", 636 | "巹": "卺", 637 | "帥": "帅", 638 | "師": "师", 639 | "帳": "帐", 640 | "帶": "带", 641 | "幀": "帧", 642 | "幃": "帏", 643 | "幓": "㡎", 644 | "幗": "帼", 645 | "幘": "帻", 646 | "幝": "𪩷", 647 | "幟": "帜", 648 | "幣": "币", 649 | "幩": "𪩸", 650 | "幫": "帮", 651 | "幬": "帱", 652 | "幹": "干", 653 | "幾": "几", 654 | "庫": "库", 655 | "廁": "厕", 656 | "廂": "厢", 657 | "廄": "厩", 658 | "廈": "厦", 659 | "廎": "庼", 660 | "廕": "荫", 661 | "廚": "厨", 662 | "廝": "厮", 663 | "廞": "𫷷", 664 | "廟": "庙", 665 | "廠": "厂", 666 | "廡": "庑", 667 | "廢": "废", 668 | "廣": "广", 669 | "廧": "𪪞", 670 | "廩": "廪", 671 | "廬": "庐", 672 | "廳": "厅", 673 | "弒": "弑", 674 | "弔": "吊", 675 | "弳": "弪", 676 | "張": "张", 677 | "強": "强", 678 | "彃": "𪪼", 679 | "彄": "𫸩", 680 | "彆": "别", 681 | "彈": "弹", 682 | "彌": "弥", 683 | "彎": "弯", 684 | "彔": "录", 685 | "彙": "汇", 686 | "彠": "彟", 687 | "彥": "彦", 688 | "彫": "雕", 689 | "彲": "彨", 690 | "彷": "彷", 691 | "彿": "佛", 692 | "後": "后", 693 | "徑": "径", 694 | "從": "从", 695 | "徠": "徕", 696 | "復": "复", 697 | "徵": "征", 698 | "徹": "彻", 699 | "徿": "𪫌", 700 | "恆": "恒", 701 | "恥": "耻", 702 | "悅": "悦", 703 | "悞": "悮", 704 | "悵": "怅", 705 | "悶": "闷", 706 | "悽": "凄", 707 | "惡": "恶", 708 | "惱": "恼", 709 | "惲": "恽", 710 | "惻": "恻", 711 | "愛": "爱", 712 | "愜": "惬", 713 | "愨": "悫", 714 | "愴": "怆", 715 | "愷": "恺", 716 | "愻": "𢙏", 717 | "愾": "忾", 718 | "慄": "栗", 719 | "態": "态", 720 | "慍": "愠", 721 | "慘": "惨", 722 | "慚": "惭", 723 | "慟": "恸", 724 | "慣": "惯", 725 | "慤": "悫", 726 | "慪": "怄", 727 | "慫": "怂", 728 | "慮": "虑", 729 | "慳": "悭", 730 | "慶": "庆", 731 | "慺": "㥪", 732 | "慼": "戚", 733 | "慾": "欲", 734 | "憂": "忧", 735 | "憊": "惫", 736 | "憐": "怜", 737 | "憑": "凭", 738 | "憒": "愦", 739 | "憖": "慭", 740 | "憚": "惮", 741 | "憢": "𢙒", 742 | "憤": "愤", 743 | "憫": "悯", 744 | "憮": "怃", 745 | "憲": "宪", 746 | "憶": "忆", 747 | "憸": "𪫺", 748 | "憹": "𢙐", 749 | "懀": "𢙓", 750 | "懇": "恳", 751 | "應": "应", 752 | "懌": "怿", 753 | "懍": "懔", 754 | "懎": "𢠁", 755 | "懞": "蒙", 756 | "懟": "怼", 757 | "懣": "懑", 758 | "懤": "㤽", 759 | "懨": "恹", 760 | "懲": "惩", 761 | "懶": "懒", 762 | "懷": "怀", 763 | "懸": "悬", 764 | "懺": "忏", 765 | "懼": "惧", 766 | "懾": "慑", 767 | "戀": "恋", 768 | "戇": "戆", 769 | "戔": "戋", 770 | "戧": "戗", 771 | "戩": "戬", 772 | "戰": "战", 773 | "戱": "戯", 774 | "戲": "戏", 775 | "戶": "户", 776 | "拋": "抛", 777 | "挩": "捝", 778 | "挱": "挲", 779 | "挾": "挟", 780 | "捨": "舍", 781 | "捫": "扪", 782 | "捱": "挨", 783 | "捲": "卷", 784 | "掃": "扫", 785 | "掄": "抡", 786 | "掆": "㧏", 787 | "掗": "挜", 788 | "掙": "挣", 789 | "掚": "𪭵", 790 | "掛": "挂", 791 | "採": "采", 792 | "揀": "拣", 793 | "揚": "扬", 794 | "換": "换", 795 | "揮": "挥", 796 | "揯": "搄", 797 | "損": "损", 798 | "搖": "摇", 799 | "搗": "捣", 800 | "搵": "揾", 801 | "搶": "抢", 802 | "摋": "𢫬", 803 | "摐": "𪭢", 804 | "摑": "掴", 805 | "摜": "掼", 806 | "摟": "搂", 807 | "摯": "挚", 808 | "摳": "抠", 809 | "摶": "抟", 810 | "摺": "折", 811 | "摻": "掺", 812 | "撈": "捞", 813 | "撊": "𪭾", 814 | "撏": "挦", 815 | "撐": "撑", 816 | "撓": "挠", 817 | "撝": "㧑", 818 | "撟": "挢", 819 | "撣": "掸", 820 | "撥": "拨", 821 | "撧": "𪮖", 822 | "撫": "抚", 823 | "撲": "扑", 824 | "撳": "揿", 825 | "撻": "挞", 826 | "撾": "挝", 827 | "撿": "捡", 828 | "擁": "拥", 829 | "擄": "掳", 830 | "擇": "择", 831 | "擊": "击", 832 | "擋": "挡", 833 | "擓": "㧟", 834 | "擔": "担", 835 | "據": "据", 836 | "擟": "𪭧", 837 | "擠": "挤", 838 | "擣": "捣", 839 | "擫": "𢬍", 840 | "擬": "拟", 841 | "擯": "摈", 842 | "擰": "拧", 843 | "擱": "搁", 844 | "擲": "掷", 845 | "擴": "扩", 846 | "擷": "撷", 847 | "擺": "摆", 848 | "擻": "擞", 849 | "擼": "撸", 850 | "擽": "㧰", 851 | "擾": "扰", 852 | "攄": "摅", 853 | "攆": "撵", 854 | "攋": "𪮶", 855 | "攏": "拢", 856 | "攔": "拦", 857 | "攖": "撄", 858 | "攙": "搀", 859 | "攛": "撺", 860 | "攜": "携", 861 | "攝": "摄", 862 | "攢": "攒", 863 | "攣": "挛", 864 | "攤": "摊", 865 | "攪": "搅", 866 | "攬": "揽", 867 | "敎": "教", 868 | "敓": "敚", 869 | "敗": "败", 870 | "敘": "叙", 871 | "敵": "敌", 872 | "數": "数", 873 | "斂": "敛", 874 | "斃": "毙", 875 | "斅": "𢽾", 876 | "斆": "敩", 877 | "斕": "斓", 878 | "斬": "斩", 879 | "斷": "断", 880 | "斸": "𣃁", 881 | "於": "于", 882 | "旂": "旗", 883 | "旣": "既", 884 | "昇": "升", 885 | "時": "时", 886 | "晉": "晋", 887 | "晛": "𬀪", 888 | "晝": "昼", 889 | "暈": "晕", 890 | "暉": "晖", 891 | "暐": "𬀩", 892 | "暘": "旸", 893 | "暢": "畅", 894 | "暫": "暂", 895 | "曄": "晔", 896 | "曆": "历", 897 | "曇": "昙", 898 | "曉": "晓", 899 | "曊": "𪰶", 900 | "曏": "向", 901 | "曖": "暧", 902 | "曠": "旷", 903 | "曥": "𣆐", 904 | "曨": "昽", 905 | "曬": "晒", 906 | "書": "书", 907 | "會": "会", 908 | "朥": "𦛨", 909 | "朧": "胧", 910 | "朮": "术", 911 | "東": "东", 912 | "枴": "拐", 913 | "柵": "栅", 914 | "柺": "拐", 915 | "査": "查", 916 | "桱": "𣐕", 917 | "桿": "杆", 918 | "梔": "栀", 919 | "梖": "𪱷", 920 | "梘": "枧", 921 | "梜": "𬂩", 922 | "條": "条", 923 | "梟": "枭", 924 | "梲": "棁", 925 | "棄": "弃", 926 | "棊": "棋", 927 | "棖": "枨", 928 | "棗": "枣", 929 | "棟": "栋", 930 | "棡": "㭎", 931 | "棧": "栈", 932 | "棲": "栖", 933 | "棶": "梾", 934 | "椏": "桠", 935 | "椲": "㭏", 936 | "楇": "𣒌", 937 | "楊": "杨", 938 | "楓": "枫", 939 | "楨": "桢", 940 | "業": "业", 941 | "極": "极", 942 | "榘": "矩", 943 | "榦": "干", 944 | "榪": "杩", 945 | "榮": "荣", 946 | "榲": "榅", 947 | "榿": "桤", 948 | "構": "构", 949 | "槍": "枪", 950 | "槓": "杠", 951 | "槤": "梿", 952 | "槧": "椠", 953 | "槨": "椁", 954 | "槫": "𣏢", 955 | "槮": "椮", 956 | "槳": "桨", 957 | "槶": "椢", 958 | "槼": "椝", 959 | "樁": "桩", 960 | "樂": "乐", 961 | "樅": "枞", 962 | "樑": "梁", 963 | "樓": "楼", 964 | "標": "标", 965 | "樞": "枢", 966 | "樠": "𣗊", 967 | "樢": "㭤", 968 | "樣": "样", 969 | "樤": "𣔌", 970 | "樧": "榝", 971 | "樫": "㭴", 972 | "樳": "桪", 973 | "樸": "朴", 974 | "樹": "树", 975 | "樺": "桦", 976 | "樿": "椫", 977 | "橈": "桡", 978 | "橋": "桥", 979 | "機": "机", 980 | "橢": "椭", 981 | "橫": "横", 982 | "橯": "𣓿", 983 | "檁": "檩", 984 | "檉": "柽", 985 | "檔": "档", 986 | "檜": "桧", 987 | "檟": "槚", 988 | "檢": "检", 989 | "檣": "樯", 990 | "檭": "𣘴", 991 | "檮": "梼", 992 | "檯": "台", 993 | "檳": "槟", 994 | "檵": "𪲛", 995 | "檸": "柠", 996 | "檻": "槛", 997 | "櫃": "柜", 998 | "櫅": "𪲎", 999 | "櫍": "𬃊", 1000 | "櫓": "橹", 1001 | "櫚": "榈", 1002 | "櫛": "栉", 1003 | "櫝": "椟", 1004 | "櫞": "橼", 1005 | "櫟": "栎", 1006 | "櫠": "𪲮", 1007 | "櫥": "橱", 1008 | "櫧": "槠", 1009 | "櫨": "栌", 1010 | "櫪": "枥", 1011 | "櫫": "橥", 1012 | "櫬": "榇", 1013 | "櫱": "蘖", 1014 | "櫳": "栊", 1015 | "櫸": "榉", 1016 | "櫻": "樱", 1017 | "欄": "栏", 1018 | "欅": "榉", 1019 | "欇": "𪳍", 1020 | "權": "权", 1021 | "欍": "𣐤", 1022 | "欏": "椤", 1023 | "欐": "𪲔", 1024 | "欑": "𪴙", 1025 | "欒": "栾", 1026 | "欓": "𣗋", 1027 | "欖": "榄", 1028 | "欘": "𣚚", 1029 | "欞": "棂", 1030 | "欽": "钦", 1031 | "歎": "叹", 1032 | "歐": "欧", 1033 | "歟": "欤", 1034 | "歡": "欢", 1035 | "歲": "岁", 1036 | "歷": "历", 1037 | "歸": "归", 1038 | "歿": "殁", 1039 | "殘": "残", 1040 | "殞": "殒", 1041 | "殢": "𣨼", 1042 | "殤": "殇", 1043 | "殨": "㱮", 1044 | "殫": "殚", 1045 | "殭": "僵", 1046 | "殮": "殓", 1047 | "殯": "殡", 1048 | "殰": "㱩", 1049 | "殲": "歼", 1050 | "殺": "杀", 1051 | "殻": "壳", 1052 | "殼": "壳", 1053 | "毀": "毁", 1054 | "毆": "殴", 1055 | "毊": "𪵑", 1056 | "毿": "毵", 1057 | "氂": "牦", 1058 | "氈": "毡", 1059 | "氌": "氇", 1060 | "氣": "气", 1061 | "氫": "氢", 1062 | "氬": "氩", 1063 | "氭": "𣱝", 1064 | "氳": "氲", 1065 | "氾": "泛", 1066 | "汎": "泛", 1067 | "汙": "污", 1068 | "決": "决", 1069 | "沒": "没", 1070 | "沖": "冲", 1071 | "況": "况", 1072 | "泝": "溯", 1073 | "洩": "泄", 1074 | "洶": "汹", 1075 | "浹": "浃", 1076 | "浿": "𬇙", 1077 | "涇": "泾", 1078 | "涗": "涚", 1079 | "涼": "凉", 1080 | "淒": "凄", 1081 | "淚": "泪", 1082 | "淥": "渌", 1083 | "淨": "净", 1084 | "淩": "凌", 1085 | "淪": "沦", 1086 | "淵": "渊", 1087 | "淶": "涞", 1088 | "淺": "浅", 1089 | "渙": "涣", 1090 | "減": "减", 1091 | "渢": "沨", 1092 | "渦": "涡", 1093 | "測": "测", 1094 | "渾": "浑", 1095 | "湊": "凑", 1096 | "湋": "𣲗", 1097 | "湞": "浈", 1098 | "湧": "涌", 1099 | "湯": "汤", 1100 | "溈": "沩", 1101 | "準": "准", 1102 | "溝": "沟", 1103 | "溡": "𪶄", 1104 | "溫": "温", 1105 | "溮": "浉", 1106 | "溳": "涢", 1107 | "溼": "湿", 1108 | "滄": "沧", 1109 | "滅": "灭", 1110 | "滌": "涤", 1111 | "滎": "荥", 1112 | "滙": "汇", 1113 | "滬": "沪", 1114 | "滯": "滞", 1115 | "滲": "渗", 1116 | "滷": "卤", 1117 | "滸": "浒", 1118 | "滻": "浐", 1119 | "滾": "滚", 1120 | "滿": "满", 1121 | "漁": "渔", 1122 | "漊": "溇", 1123 | "漍": "𬇹", 1124 | "漚": "沤", 1125 | "漢": "汉", 1126 | "漣": "涟", 1127 | "漬": "渍", 1128 | "漲": "涨", 1129 | "漵": "溆", 1130 | "漸": "渐", 1131 | "漿": "浆", 1132 | "潁": "颍", 1133 | "潑": "泼", 1134 | "潔": "洁", 1135 | "潕": "𣲘", 1136 | "潙": "沩", 1137 | "潚": "㴋", 1138 | "潛": "潜", 1139 | "潣": "𫞗", 1140 | "潤": "润", 1141 | "潯": "浔", 1142 | "潰": "溃", 1143 | "潷": "滗", 1144 | "潿": "涠", 1145 | "澀": "涩", 1146 | "澅": "𣶩", 1147 | "澆": "浇", 1148 | "澇": "涝", 1149 | "澐": "沄", 1150 | "澗": "涧", 1151 | "澠": "渑", 1152 | "澤": "泽", 1153 | "澦": "滪", 1154 | "澩": "泶", 1155 | "澫": "𬇕", 1156 | "澬": "𫞚", 1157 | "澮": "浍", 1158 | "澱": "淀", 1159 | "澾": "㳠", 1160 | "濁": "浊", 1161 | "濃": "浓", 1162 | "濄": "㳡", 1163 | "濆": "𣸣", 1164 | "濕": "湿", 1165 | "濘": "泞", 1166 | "濚": "溁", 1167 | "濛": "蒙", 1168 | "濜": "浕", 1169 | "濟": "济", 1170 | "濤": "涛", 1171 | "濧": "㳔", 1172 | "濫": "滥", 1173 | "濰": "潍", 1174 | "濱": "滨", 1175 | "濺": "溅", 1176 | "濼": "泺", 1177 | "濾": "滤", 1178 | "濿": "𪵱", 1179 | "瀂": "澛", 1180 | "瀃": "𣽷", 1181 | "瀅": "滢", 1182 | "瀆": "渎", 1183 | "瀇": "㲿", 1184 | "瀉": "泻", 1185 | "瀋": "沈", 1186 | "瀏": "浏", 1187 | "瀕": "濒", 1188 | "瀘": "泸", 1189 | "瀝": "沥", 1190 | "瀟": "潇", 1191 | "瀠": "潆", 1192 | "瀦": "潴", 1193 | "瀧": "泷", 1194 | "瀨": "濑", 1195 | "瀰": "弥", 1196 | "瀲": "潋", 1197 | "瀾": "澜", 1198 | "灃": "沣", 1199 | "灄": "滠", 1200 | "灍": "𫞝", 1201 | "灑": "洒", 1202 | "灒": "𪷽", 1203 | "灕": "漓", 1204 | "灘": "滩", 1205 | "灙": "𣺼", 1206 | "灝": "灏", 1207 | "灡": "㳕", 1208 | "灣": "湾", 1209 | "灤": "滦", 1210 | "灧": "滟", 1211 | "灩": "滟", 1212 | "災": "灾", 1213 | "為": "为", 1214 | "烏": "乌", 1215 | "烴": "烃", 1216 | "無": "无", 1217 | "煇": "𪸩", 1218 | "煉": "炼", 1219 | "煒": "炜", 1220 | "煙": "烟", 1221 | "煢": "茕", 1222 | "煥": "焕", 1223 | "煩": "烦", 1224 | "煬": "炀", 1225 | "煱": "㶽", 1226 | "熂": "𪸕", 1227 | "熅": "煴", 1228 | "熉": "𤈶", 1229 | "熌": "𤇄", 1230 | "熒": "荧", 1231 | "熓": "𤆡", 1232 | "熗": "炝", 1233 | "熚": "𤇹", 1234 | "熡": "𤋏", 1235 | "熰": "𬉼", 1236 | "熱": "热", 1237 | "熲": "颎", 1238 | "熾": "炽", 1239 | "燀": "𬊤", 1240 | "燁": "烨", 1241 | "燈": "灯", 1242 | "燉": "炖", 1243 | "燒": "烧", 1244 | "燖": "𬊈", 1245 | "燙": "烫", 1246 | "燜": "焖", 1247 | "營": "营", 1248 | "燦": "灿", 1249 | "燬": "毁", 1250 | "燭": "烛", 1251 | "燴": "烩", 1252 | "燶": "㶶", 1253 | "燻": "熏", 1254 | "燼": "烬", 1255 | "燾": "焘", 1256 | "爃": "𫞡", 1257 | "爄": "𤇃", 1258 | "爇": "𦶟", 1259 | "爍": "烁", 1260 | "爐": "炉", 1261 | "爖": "𤇭", 1262 | "爛": "烂", 1263 | "爥": "𪹳", 1264 | "爧": "𫞠", 1265 | "爭": "争", 1266 | "爲": "为", 1267 | "爺": "爷", 1268 | "爾": "尔", 1269 | "牀": "床", 1270 | "牆": "墙", 1271 | "牘": "牍", 1272 | "牴": "牴", 1273 | "牽": "牵", 1274 | "犖": "荦", 1275 | "犛": "牦", 1276 | "犞": "𪺭", 1277 | "犢": "犊", 1278 | "犧": "牺", 1279 | "狀": "状", 1280 | "狹": "狭", 1281 | "狽": "狈", 1282 | "猌": "𪺽", 1283 | "猙": "狰", 1284 | "猶": "犹", 1285 | "猻": "狲", 1286 | "獁": "犸", 1287 | "獃": "呆", 1288 | "獄": "狱", 1289 | "獅": "狮", 1290 | "獊": "𪺷", 1291 | "獎": "奖", 1292 | "獨": "独", 1293 | "獩": "𤞃", 1294 | "獪": "狯", 1295 | "獫": "猃", 1296 | "獮": "狝", 1297 | "獰": "狞", 1298 | "獱": "㺍", 1299 | "獲": "获", 1300 | "獵": "猎", 1301 | "獷": "犷", 1302 | "獸": "兽", 1303 | "獺": "獭", 1304 | "獻": "献", 1305 | "獼": "猕", 1306 | "玀": "猡", 1307 | "玁": "𤞤", 1308 | "珼": "𫞥", 1309 | "現": "现", 1310 | "琱": "雕", 1311 | "琺": "珐", 1312 | "琿": "珲", 1313 | "瑋": "玮", 1314 | "瑒": "玚", 1315 | "瑣": "琐", 1316 | "瑤": "瑶", 1317 | "瑩": "莹", 1318 | "瑪": "玛", 1319 | "瑲": "玱", 1320 | "瑻": "𪻲", 1321 | "瑽": "𪻐", 1322 | "璉": "琏", 1323 | "璊": "𫞩", 1324 | "璕": "𬍤", 1325 | "璗": "𬍡", 1326 | "璝": "𪻺", 1327 | "璡": "琎", 1328 | "璣": "玑", 1329 | "璦": "瑷", 1330 | "璫": "珰", 1331 | "璯": "㻅", 1332 | "環": "环", 1333 | "璵": "玙", 1334 | "璸": "瑸", 1335 | "璼": "𫞨", 1336 | "璽": "玺", 1337 | "璾": "𫞦", 1338 | "璿": "璇", 1339 | "瓄": "𪻨", 1340 | "瓅": "𬍛", 1341 | "瓊": "琼", 1342 | "瓏": "珑", 1343 | "瓔": "璎", 1344 | "瓕": "𤦀", 1345 | "瓚": "瓒", 1346 | "瓛": "𤩽", 1347 | "甌": "瓯", 1348 | "甕": "瓮", 1349 | "產": "产", 1350 | "産": "产", 1351 | "甦": "苏", 1352 | "甯": "宁", 1353 | "畝": "亩", 1354 | "畢": "毕", 1355 | "畫": "画", 1356 | "異": "异", 1357 | "畵": "画", 1358 | "當": "当", 1359 | "畼": "𪽈", 1360 | "疇": "畴", 1361 | "疊": "叠", 1362 | "痙": "痉", 1363 | "痠": "酸", 1364 | "痮": "𪽪", 1365 | "痾": "疴", 1366 | "瘂": "痖", 1367 | "瘋": "疯", 1368 | "瘍": "疡", 1369 | "瘓": "痪", 1370 | "瘞": "瘗", 1371 | "瘡": "疮", 1372 | "瘧": "疟", 1373 | "瘮": "瘆", 1374 | "瘱": "𪽷", 1375 | "瘲": "疭", 1376 | "瘺": "瘘", 1377 | "瘻": "瘘", 1378 | "療": "疗", 1379 | "癆": "痨", 1380 | "癇": "痫", 1381 | "癉": "瘅", 1382 | "癐": "𤶊", 1383 | "癒": "愈", 1384 | "癘": "疠", 1385 | "癟": "瘪", 1386 | "癡": "痴", 1387 | "癢": "痒", 1388 | "癤": "疖", 1389 | "癥": "症", 1390 | "癧": "疬", 1391 | "癩": "癞", 1392 | "癬": "癣", 1393 | "癭": "瘿", 1394 | "癮": "瘾", 1395 | "癰": "痈", 1396 | "癱": "瘫", 1397 | "癲": "癫", 1398 | "發": "发", 1399 | "皁": "皂", 1400 | "皚": "皑", 1401 | "皟": "𤾀", 1402 | "皰": "疱", 1403 | "皸": "皲", 1404 | "皺": "皱", 1405 | "盃": "杯", 1406 | "盜": "盗", 1407 | "盞": "盏", 1408 | "盡": "尽", 1409 | "監": "监", 1410 | "盤": "盘", 1411 | "盧": "卢", 1412 | "盨": "𪾔", 1413 | "盪": "荡", 1414 | "眝": "𪾣", 1415 | "眞": "真", 1416 | "眥": "眦", 1417 | "眾": "众", 1418 | "睍": "𪾢", 1419 | "睏": "困", 1420 | "睜": "睁", 1421 | "睞": "睐", 1422 | "瞘": "眍", 1423 | "瞜": "䁖", 1424 | "瞞": "瞒", 1425 | "瞤": "𥆧", 1426 | "瞭": "瞭", 1427 | "瞶": "瞆", 1428 | "瞼": "睑", 1429 | "矇": "蒙", 1430 | "矉": "𪾸", 1431 | "矑": "𪾦", 1432 | "矓": "眬", 1433 | "矚": "瞩", 1434 | "矯": "矫", 1435 | "硃": "朱", 1436 | "硜": "硁", 1437 | "硤": "硖", 1438 | "硨": "砗", 1439 | "硯": "砚", 1440 | "碕": "埼", 1441 | "碙": "𥐻", 1442 | "碩": "硕", 1443 | "碭": "砀", 1444 | "碸": "砜", 1445 | "確": "确", 1446 | "碼": "码", 1447 | "碽": "䂵", 1448 | "磑": "硙", 1449 | "磚": "砖", 1450 | "磠": "硵", 1451 | "磣": "碜", 1452 | "磧": "碛", 1453 | "磯": "矶", 1454 | "磽": "硗", 1455 | "磾": "䃅", 1456 | "礄": "硚", 1457 | "礆": "硷", 1458 | "礎": "础", 1459 | "礐": "𬒈", 1460 | "礒": "𥐟", 1461 | "礙": "碍", 1462 | "礦": "矿", 1463 | "礪": "砺", 1464 | "礫": "砾", 1465 | "礬": "矾", 1466 | "礮": "𪿫", 1467 | "礱": "砻", 1468 | "祇": "祇", 1469 | "祕": "秘", 1470 | "祿": "禄", 1471 | "禍": "祸", 1472 | "禎": "祯", 1473 | "禕": "祎", 1474 | "禡": "祃", 1475 | "禦": "御", 1476 | "禪": "禅", 1477 | "禮": "礼", 1478 | "禰": "祢", 1479 | "禱": "祷", 1480 | "禿": "秃", 1481 | "秈": "籼", 1482 | "稅": "税", 1483 | "稈": "秆", 1484 | "稏": "䅉", 1485 | "稜": "棱", 1486 | "稟": "禀", 1487 | "種": "种", 1488 | "稱": "称", 1489 | "穀": "谷", 1490 | "穇": "䅟", 1491 | "穌": "稣", 1492 | "積": "积", 1493 | "穎": "颖", 1494 | "穠": "秾", 1495 | "穡": "穑", 1496 | "穢": "秽", 1497 | "穩": "稳", 1498 | "穫": "获", 1499 | "穭": "穞", 1500 | "窩": "窝", 1501 | "窪": "洼", 1502 | "窮": "穷", 1503 | "窯": "窑", 1504 | "窵": "窎", 1505 | "窶": "窭", 1506 | "窺": "窥", 1507 | "竄": "窜", 1508 | "竅": "窍", 1509 | "竇": "窦", 1510 | "竈": "灶", 1511 | "竊": "窃", 1512 | "竚": "𥩟", 1513 | "竪": "竖", 1514 | "竱": "𫁟", 1515 | "競": "竞", 1516 | "筆": "笔", 1517 | "筍": "笋", 1518 | "筧": "笕", 1519 | "筴": "䇲", 1520 | "箇": "个", 1521 | "箋": "笺", 1522 | "箏": "筝", 1523 | "節": "节", 1524 | "範": "范", 1525 | "築": "筑", 1526 | "篋": "箧", 1527 | "篔": "筼", 1528 | "篘": "𥬠", 1529 | "篠": "筿", 1530 | "篢": "𬕂", 1531 | "篤": "笃", 1532 | "篩": "筛", 1533 | "篳": "筚", 1534 | "篸": "𥮾", 1535 | "簀": "箦", 1536 | "簂": "𫂆", 1537 | "簍": "篓", 1538 | "簑": "蓑", 1539 | "簞": "箪", 1540 | "簡": "简", 1541 | "簢": "𫂃", 1542 | "簣": "篑", 1543 | "簫": "箫", 1544 | "簹": "筜", 1545 | "簽": "签", 1546 | "簾": "帘", 1547 | "籃": "篮", 1548 | "籅": "𥫣", 1549 | "籋": "𥬞", 1550 | "籌": "筹", 1551 | "籔": "䉤", 1552 | "籙": "箓", 1553 | "籛": "篯", 1554 | "籜": "箨", 1555 | "籟": "籁", 1556 | "籠": "笼", 1557 | "籤": "签", 1558 | "籩": "笾", 1559 | "籪": "簖", 1560 | "籬": "篱", 1561 | "籮": "箩", 1562 | "籲": "吁", 1563 | "粵": "粤", 1564 | "糉": "粽", 1565 | "糝": "糁", 1566 | "糞": "粪", 1567 | "糧": "粮", 1568 | "糰": "团", 1569 | "糲": "粝", 1570 | "糴": "籴", 1571 | "糶": "粜", 1572 | "糹": "纟", 1573 | "糺": "𫄙", 1574 | "糾": "纠", 1575 | "紀": "纪", 1576 | "紂": "纣", 1577 | "紃": "𬘓", 1578 | "約": "约", 1579 | "紅": "红", 1580 | "紆": "纡", 1581 | "紇": "纥", 1582 | "紈": "纨", 1583 | "紉": "纫", 1584 | "紋": "纹", 1585 | "納": "纳", 1586 | "紐": "纽", 1587 | "紓": "纾", 1588 | "純": "纯", 1589 | "紕": "纰", 1590 | "紖": "纼", 1591 | "紗": "纱", 1592 | "紘": "纮", 1593 | "紙": "纸", 1594 | "級": "级", 1595 | "紛": "纷", 1596 | "紜": "纭", 1597 | "紝": "纴", 1598 | "紞": "𬘘", 1599 | "紟": "𫄛", 1600 | "紡": "纺", 1601 | "紬": "䌷", 1602 | "紮": "扎", 1603 | "細": "细", 1604 | "紱": "绂", 1605 | "紲": "绁", 1606 | "紳": "绅", 1607 | "紵": "纻", 1608 | "紹": "绍", 1609 | "紺": "绀", 1610 | "紼": "绋", 1611 | "紿": "绐", 1612 | "絀": "绌", 1613 | "絁": "𫄟", 1614 | "終": "终", 1615 | "絃": "弦", 1616 | "組": "组", 1617 | "絅": "䌹", 1618 | "絆": "绊", 1619 | "絍": "𫟃", 1620 | "絎": "绗", 1621 | "結": "结", 1622 | "絕": "绝", 1623 | "絙": "𫄠", 1624 | "絛": "绦", 1625 | "絝": "绔", 1626 | "絞": "绞", 1627 | "絡": "络", 1628 | "絢": "绚", 1629 | "絥": "𫄢", 1630 | "給": "给", 1631 | "絧": "𫄡", 1632 | "絨": "绒", 1633 | "絪": "𬘡", 1634 | "絰": "绖", 1635 | "統": "统", 1636 | "絲": "丝", 1637 | "絳": "绛", 1638 | "絶": "绝", 1639 | "絹": "绢", 1640 | "絺": "𫄨", 1641 | "綀": "𦈌", 1642 | "綁": "绑", 1643 | "綃": "绡", 1644 | "綄": "𬘫", 1645 | "綆": "绠", 1646 | "綇": "𦈋", 1647 | "綈": "绨", 1648 | "綉": "绣", 1649 | "綋": "𫟄", 1650 | "綌": "绤", 1651 | "綎": "𬘩", 1652 | "綏": "绥", 1653 | "綐": "䌼", 1654 | "綑": "捆", 1655 | "經": "经", 1656 | "綖": "𫄧", 1657 | "綜": "综", 1658 | "綝": "𬘭", 1659 | "綞": "缍", 1660 | "綟": "𫄫", 1661 | "綠": "绿", 1662 | "綡": "𫟅", 1663 | "綢": "绸", 1664 | "綣": "绻", 1665 | "綧": "𬘯", 1666 | "綪": "𬘬", 1667 | "綫": "线", 1668 | "綬": "绶", 1669 | "維": "维", 1670 | "綯": "绹", 1671 | "綰": "绾", 1672 | "綱": "纲", 1673 | "網": "网", 1674 | "綳": "绷", 1675 | "綴": "缀", 1676 | "綵": "彩", 1677 | "綸": "纶", 1678 | "綹": "绺", 1679 | "綺": "绮", 1680 | "綻": "绽", 1681 | "綽": "绰", 1682 | "綾": "绫", 1683 | "綿": "绵", 1684 | "緄": "绲", 1685 | "緇": "缁", 1686 | "緊": "紧", 1687 | "緋": "绯", 1688 | "緍": "𦈏", 1689 | "緑": "绿", 1690 | "緒": "绪", 1691 | "緓": "绬", 1692 | "緔": "绱", 1693 | "緗": "缃", 1694 | "緘": "缄", 1695 | "緙": "缂", 1696 | "線": "线", 1697 | "緝": "缉", 1698 | "緞": "缎", 1699 | "緟": "𫟆", 1700 | "締": "缔", 1701 | "緡": "缗", 1702 | "緣": "缘", 1703 | "緤": "𫄬", 1704 | "緦": "缌", 1705 | "編": "编", 1706 | "緩": "缓", 1707 | "緬": "缅", 1708 | "緮": "𫄭", 1709 | "緯": "纬", 1710 | "緰": "𦈕", 1711 | "緱": "缑", 1712 | "緲": "缈", 1713 | "練": "练", 1714 | "緶": "缏", 1715 | "緷": "𦈉", 1716 | "緸": "𦈑", 1717 | "緹": "缇", 1718 | "緻": "致", 1719 | "緼": "缊", 1720 | "縈": "萦", 1721 | "縉": "缙", 1722 | "縊": "缢", 1723 | "縋": "缒", 1724 | "縍": "𫄰", 1725 | "縎": "𦈔", 1726 | "縐": "绉", 1727 | "縑": "缣", 1728 | "縕": "缊", 1729 | "縗": "缞", 1730 | "縛": "缚", 1731 | "縝": "缜", 1732 | "縞": "缟", 1733 | "縟": "缛", 1734 | "縣": "县", 1735 | "縧": "绦", 1736 | "縫": "缝", 1737 | "縬": "𦈚", 1738 | "縭": "缡", 1739 | "縮": "缩", 1740 | "縯": "𬙂", 1741 | "縰": "𫄳", 1742 | "縱": "纵", 1743 | "縲": "缧", 1744 | "縳": "䌸", 1745 | "縴": "纤", 1746 | "縵": "缦", 1747 | "縶": "絷", 1748 | "縷": "缕", 1749 | "縸": "𫄲", 1750 | "縹": "缥", 1751 | "縺": "𦈐", 1752 | "總": "总", 1753 | "績": "绩", 1754 | "繂": "𫄴", 1755 | "繃": "绷", 1756 | "繅": "缫", 1757 | "繆": "缪", 1758 | "繈": "𫄶", 1759 | "繏": "𦈝", 1760 | "繐": "𰬸", 1761 | "繒": "缯", 1762 | "繓": "𦈛", 1763 | "織": "织", 1764 | "繕": "缮", 1765 | "繚": "缭", 1766 | "繞": "绕", 1767 | "繟": "𦈎", 1768 | "繡": "绣", 1769 | "繢": "缋", 1770 | "繨": "𫄤", 1771 | "繩": "绳", 1772 | "繪": "绘", 1773 | "繫": "系", 1774 | "繬": "𫄱", 1775 | "繭": "茧", 1776 | "繮": "缰", 1777 | "繯": "缳", 1778 | "繰": "缲", 1779 | "繳": "缴", 1780 | "繶": "𫄷", 1781 | "繷": "𫄣", 1782 | "繸": "䍁", 1783 | "繹": "绎", 1784 | "繻": "𦈡", 1785 | "繼": "继", 1786 | "繽": "缤", 1787 | "繾": "缱", 1788 | "繿": "䍀", 1789 | "纁": "𫄸", 1790 | "纆": "𬙊", 1791 | "纇": "颣", 1792 | "纈": "缬", 1793 | "纊": "纩", 1794 | "續": "续", 1795 | "纍": "累", 1796 | "纏": "缠", 1797 | "纓": "缨", 1798 | "纔": "才", 1799 | "纕": "𬙋", 1800 | "纖": "纤", 1801 | "纗": "𫄹", 1802 | "纘": "缵", 1803 | "纚": "𫄥", 1804 | "纜": "缆", 1805 | "缽": "钵", 1806 | "罃": "䓨", 1807 | "罈": "坛", 1808 | "罌": "罂", 1809 | "罎": "坛", 1810 | "罰": "罚", 1811 | "罵": "骂", 1812 | "罷": "罢", 1813 | "羅": "罗", 1814 | "羆": "罴", 1815 | "羈": "羁", 1816 | "羋": "芈", 1817 | "羣": "群", 1818 | "羥": "羟", 1819 | "羨": "羡", 1820 | "義": "义", 1821 | "羵": "𫅗", 1822 | "羶": "膻", 1823 | "習": "习", 1824 | "翫": "玩", 1825 | "翬": "翚", 1826 | "翹": "翘", 1827 | "翽": "翙", 1828 | "耬": "耧", 1829 | "耮": "耢", 1830 | "聖": "圣", 1831 | "聞": "闻", 1832 | "聯": "联", 1833 | "聰": "聪", 1834 | "聲": "声", 1835 | "聳": "耸", 1836 | "聵": "聩", 1837 | "聶": "聂", 1838 | "職": "职", 1839 | "聹": "聍", 1840 | "聻": "𫆏", 1841 | "聽": "听", 1842 | "聾": "聋", 1843 | "肅": "肃", 1844 | "脅": "胁", 1845 | "脈": "脉", 1846 | "脛": "胫", 1847 | "脣": "唇", 1848 | "脥": "𣍰", 1849 | "脩": "修", 1850 | "脫": "脱", 1851 | "脹": "胀", 1852 | "腎": "肾", 1853 | "腖": "胨", 1854 | "腡": "脶", 1855 | "腦": "脑", 1856 | "腪": "𣍯", 1857 | "腫": "肿", 1858 | "腳": "脚", 1859 | "腸": "肠", 1860 | "膃": "腽", 1861 | "膕": "腘", 1862 | "膚": "肤", 1863 | "膞": "䏝", 1864 | "膠": "胶", 1865 | "膢": "𦝼", 1866 | "膩": "腻", 1867 | "膹": "𪱥", 1868 | "膽": "胆", 1869 | "膾": "脍", 1870 | "膿": "脓", 1871 | "臉": "脸", 1872 | "臍": "脐", 1873 | "臏": "膑", 1874 | "臗": "𣎑", 1875 | "臘": "腊", 1876 | "臚": "胪", 1877 | "臟": "脏", 1878 | "臠": "脔", 1879 | "臢": "臜", 1880 | "臥": "卧", 1881 | "臨": "临", 1882 | "臺": "台", 1883 | "與": "与", 1884 | "興": "兴", 1885 | "舉": "举", 1886 | "舊": "旧", 1887 | "舘": "馆", 1888 | "艙": "舱", 1889 | "艣": "𫇛", 1890 | "艤": "舣", 1891 | "艦": "舰", 1892 | "艫": "舻", 1893 | "艱": "艰", 1894 | "艷": "艳", 1895 | "芻": "刍", 1896 | "苧": "苎", 1897 | "茲": "兹", 1898 | "荊": "荆", 1899 | "莊": "庄", 1900 | "莖": "茎", 1901 | "莢": "荚", 1902 | "莧": "苋", 1903 | "菕": "𰰨", 1904 | "華": "华", 1905 | "菴": "庵", 1906 | "菸": "烟", 1907 | "萇": "苌", 1908 | "萊": "莱", 1909 | "萬": "万", 1910 | "萴": "荝", 1911 | "萵": "莴", 1912 | "葉": "叶", 1913 | "葒": "荭", 1914 | "葝": "𫈎", 1915 | "葤": "荮", 1916 | "葦": "苇", 1917 | "葯": "药", 1918 | "葷": "荤", 1919 | "蒍": "𫇭", 1920 | "蒐": "搜", 1921 | "蒓": "莼", 1922 | "蒔": "莳", 1923 | "蒕": "蒀", 1924 | "蒞": "莅", 1925 | "蒭": "𫇴", 1926 | "蒼": "苍", 1927 | "蓀": "荪", 1928 | "蓆": "席", 1929 | "蓋": "盖", 1930 | "蓧": "𦰏", 1931 | "蓮": "莲", 1932 | "蓯": "苁", 1933 | "蓴": "莼", 1934 | "蓽": "荜", 1935 | "蔄": "𬜬", 1936 | "蔔": "卜", 1937 | "蔘": "参", 1938 | "蔞": "蒌", 1939 | "蔣": "蒋", 1940 | "蔥": "葱", 1941 | "蔦": "茑", 1942 | "蔭": "荫", 1943 | "蔯": "𫈟", 1944 | "蔿": "𫇭", 1945 | "蕁": "荨", 1946 | "蕆": "蒇", 1947 | "蕎": "荞", 1948 | "蕒": "荬", 1949 | "蕓": "芸", 1950 | "蕕": "莸", 1951 | "蕘": "荛", 1952 | "蕝": "𫈵", 1953 | "蕢": "蒉", 1954 | "蕩": "荡", 1955 | "蕪": "芜", 1956 | "蕭": "萧", 1957 | "蕳": "𫈉", 1958 | "蕷": "蓣", 1959 | "蕽": "𫇽", 1960 | "薀": "蕰", 1961 | "薆": "𫉁", 1962 | "薈": "荟", 1963 | "薊": "蓟", 1964 | "薌": "芗", 1965 | "薑": "姜", 1966 | "薔": "蔷", 1967 | "薘": "荙", 1968 | "薟": "莶", 1969 | "薦": "荐", 1970 | "薩": "萨", 1971 | "薳": "䓕", 1972 | "薴": "苧", 1973 | "薵": "䓓", 1974 | "薹": "苔", 1975 | "薺": "荠", 1976 | "藉": "藉", 1977 | "藍": "蓝", 1978 | "藎": "荩", 1979 | "藝": "艺", 1980 | "藥": "药", 1981 | "藪": "薮", 1982 | "藭": "䓖", 1983 | "藴": "蕴", 1984 | "藶": "苈", 1985 | "藷": "𫉄", 1986 | "藹": "蔼", 1987 | "藺": "蔺", 1988 | "蘀": "萚", 1989 | "蘄": "蕲", 1990 | "蘆": "芦", 1991 | "蘇": "苏", 1992 | "蘊": "蕴", 1993 | "蘋": "苹", 1994 | "蘚": "藓", 1995 | "蘞": "蔹", 1996 | "蘟": "𦻕", 1997 | "蘢": "茏", 1998 | "蘭": "兰", 1999 | "蘺": "蓠", 2000 | "蘿": "萝", 2001 | "虆": "蔂", 2002 | "虉": "𬟁", 2003 | "處": "处", 2004 | "虛": "虚", 2005 | "虜": "虏", 2006 | "號": "号", 2007 | "虧": "亏", 2008 | "虯": "虬", 2009 | "蛺": "蛱", 2010 | "蛻": "蜕", 2011 | "蜆": "蚬", 2012 | "蝀": "𬟽", 2013 | "蝕": "蚀", 2014 | "蝟": "猬", 2015 | "蝦": "虾", 2016 | "蝨": "虱", 2017 | "蝸": "蜗", 2018 | "螄": "蛳", 2019 | "螞": "蚂", 2020 | "螢": "萤", 2021 | "螮": "䗖", 2022 | "螻": "蝼", 2023 | "螿": "螀", 2024 | "蟂": "𫋇", 2025 | "蟄": "蛰", 2026 | "蟈": "蝈", 2027 | "蟎": "螨", 2028 | "蟘": "𫋌", 2029 | "蟜": "𫊸", 2030 | "蟣": "虮", 2031 | "蟬": "蝉", 2032 | "蟯": "蛲", 2033 | "蟲": "虫", 2034 | "蟳": "𫊻", 2035 | "蟶": "蛏", 2036 | "蟻": "蚁", 2037 | "蠀": "𧏗", 2038 | "蠁": "蚃", 2039 | "蠅": "蝇", 2040 | "蠆": "虿", 2041 | "蠍": "蝎", 2042 | "蠐": "蛴", 2043 | "蠑": "蝾", 2044 | "蠔": "蚝", 2045 | "蠙": "𧏖", 2046 | "蠟": "蜡", 2047 | "蠣": "蛎", 2048 | "蠦": "𫊮", 2049 | "蠨": "蟏", 2050 | "蠱": "蛊", 2051 | "蠶": "蚕", 2052 | "蠻": "蛮", 2053 | "蠾": "𧑏", 2054 | "衆": "众", 2055 | "衊": "蔑", 2056 | "術": "术", 2057 | "衕": "同", 2058 | "衚": "胡", 2059 | "衛": "卫", 2060 | "衝": "冲", 2061 | "衹": "衹", 2062 | "袞": "衮", 2063 | "裊": "袅", 2064 | "裏": "里", 2065 | "補": "补", 2066 | "裝": "装", 2067 | "裡": "里", 2068 | "製": "制", 2069 | "複": "复", 2070 | "褌": "裈", 2071 | "褘": "袆", 2072 | "褲": "裤", 2073 | "褳": "裢", 2074 | "褸": "褛", 2075 | "褻": "亵", 2076 | "襀": "𫌀", 2077 | "襇": "裥", 2078 | "襉": "裥", 2079 | "襏": "袯", 2080 | "襓": "𫋹", 2081 | "襖": "袄", 2082 | "襗": "𫋷", 2083 | "襘": "𫋻", 2084 | "襝": "裣", 2085 | "襠": "裆", 2086 | "襤": "褴", 2087 | "襪": "袜", 2088 | "襬": "摆", 2089 | "襯": "衬", 2090 | "襰": "𧝝", 2091 | "襲": "袭", 2092 | "襴": "襕", 2093 | "襵": "𫌇", 2094 | "覆": "覆", 2095 | "覈": "核", 2096 | "見": "见", 2097 | "覎": "觃", 2098 | "規": "规", 2099 | "覓": "觅", 2100 | "視": "视", 2101 | "覘": "觇", 2102 | "覛": "𫌪", 2103 | "覡": "觋", 2104 | "覥": "觍", 2105 | "覦": "觎", 2106 | "親": "亲", 2107 | "覬": "觊", 2108 | "覯": "觏", 2109 | "覲": "觐", 2110 | "覷": "觑", 2111 | "覹": "𫌭", 2112 | "覺": "觉", 2113 | "覼": "𫌨", 2114 | "覽": "览", 2115 | "覿": "觌", 2116 | "觀": "观", 2117 | "觴": "觞", 2118 | "觶": "觯", 2119 | "觸": "触", 2120 | "訁": "讠", 2121 | "訂": "订", 2122 | "訃": "讣", 2123 | "計": "计", 2124 | "訊": "讯", 2125 | "訌": "讧", 2126 | "討": "讨", 2127 | "訏": "𬣙", 2128 | "訐": "讦", 2129 | "訑": "𫍙", 2130 | "訒": "讱", 2131 | "訓": "训", 2132 | "訕": "讪", 2133 | "訖": "讫", 2134 | "託": "托", 2135 | "記": "记", 2136 | "訛": "讹", 2137 | "訜": "𫍛", 2138 | "訝": "讶", 2139 | "訞": "𫍚", 2140 | "訟": "讼", 2141 | "訢": "䜣", 2142 | "訣": "诀", 2143 | "訥": "讷", 2144 | "訨": "𫟞", 2145 | "訩": "讻", 2146 | "訪": "访", 2147 | "設": "设", 2148 | "許": "许", 2149 | "訴": "诉", 2150 | "訶": "诃", 2151 | "診": "诊", 2152 | "註": "注", 2153 | "証": "证", 2154 | "詀": "𧮪", 2155 | "詁": "诂", 2156 | "詆": "诋", 2157 | "詊": "𫟟", 2158 | "詎": "讵", 2159 | "詐": "诈", 2160 | "詑": "𫍡", 2161 | "詒": "诒", 2162 | "詓": "𫍜", 2163 | "詔": "诏", 2164 | "評": "评", 2165 | "詖": "诐", 2166 | "詗": "诇", 2167 | "詘": "诎", 2168 | "詛": "诅", 2169 | "詝": "𬣞", 2170 | "詞": "词", 2171 | "詠": "咏", 2172 | "詡": "诩", 2173 | "詢": "询", 2174 | "詣": "诣", 2175 | "試": "试", 2176 | "詩": "诗", 2177 | "詪": "𬣳", 2178 | "詫": "诧", 2179 | "詬": "诟", 2180 | "詭": "诡", 2181 | "詮": "诠", 2182 | "詰": "诘", 2183 | "話": "话", 2184 | "該": "该", 2185 | "詳": "详", 2186 | "詵": "诜", 2187 | "詷": "𫍣", 2188 | "詼": "诙", 2189 | "詿": "诖", 2190 | "誂": "𫍥", 2191 | "誄": "诔", 2192 | "誅": "诛", 2193 | "誆": "诓", 2194 | "誇": "夸", 2195 | "誋": "𫍪", 2196 | "誌": "志", 2197 | "認": "认", 2198 | "誑": "诳", 2199 | "誒": "诶", 2200 | "誕": "诞", 2201 | "誘": "诱", 2202 | "誚": "诮", 2203 | "語": "语", 2204 | "誠": "诚", 2205 | "誡": "诫", 2206 | "誣": "诬", 2207 | "誤": "误", 2208 | "誥": "诰", 2209 | "誦": "诵", 2210 | "誨": "诲", 2211 | "說": "说", 2212 | "誫": "𫍨", 2213 | "説": "说", 2214 | "誰": "谁", 2215 | "課": "课", 2216 | "誳": "𫍮", 2217 | "誴": "𫟡", 2218 | "誶": "谇", 2219 | "誷": "𫍬", 2220 | "誹": "诽", 2221 | "誺": "𫍧", 2222 | "誼": "谊", 2223 | "誾": "訚", 2224 | "調": "调", 2225 | "諂": "谄", 2226 | "諄": "谆", 2227 | "談": "谈", 2228 | "諉": "诿", 2229 | "請": "请", 2230 | "諍": "诤", 2231 | "諏": "诹", 2232 | "諑": "诼", 2233 | "諒": "谅", 2234 | "諓": "𬣡", 2235 | "論": "论", 2236 | "諗": "谂", 2237 | "諛": "谀", 2238 | "諜": "谍", 2239 | "諝": "谞", 2240 | "諞": "谝", 2241 | "諟": "𬤊", 2242 | "諡": "谥", 2243 | "諢": "诨", 2244 | "諣": "𫍩", 2245 | "諤": "谔", 2246 | "諥": "𫍳", 2247 | "諦": "谛", 2248 | "諧": "谐", 2249 | "諫": "谏", 2250 | "諭": "谕", 2251 | "諮": "咨", 2252 | "諯": "𫍱", 2253 | "諰": "𫍰", 2254 | "諱": "讳", 2255 | "諲": "𬤇", 2256 | "諳": "谙", 2257 | "諴": "𫍯", 2258 | "諶": "谌", 2259 | "諷": "讽", 2260 | "諸": "诸", 2261 | "諺": "谚", 2262 | "諼": "谖", 2263 | "諾": "诺", 2264 | "謀": "谋", 2265 | "謁": "谒", 2266 | "謂": "谓", 2267 | "謄": "誊", 2268 | "謅": "诌", 2269 | "謆": "𫍸", 2270 | "謉": "𫍷", 2271 | "謊": "谎", 2272 | "謎": "谜", 2273 | "謏": "𫍲", 2274 | "謐": "谧", 2275 | "謔": "谑", 2276 | "謖": "谡", 2277 | "謗": "谤", 2278 | "謙": "谦", 2279 | "謚": "谥", 2280 | "講": "讲", 2281 | "謝": "谢", 2282 | "謠": "谣", 2283 | "謡": "谣", 2284 | "謨": "谟", 2285 | "謫": "谪", 2286 | "謬": "谬", 2287 | "謭": "谫", 2288 | "謯": "𫍹", 2289 | "謱": "𫍴", 2290 | "謳": "讴", 2291 | "謸": "𫍵", 2292 | "謹": "谨", 2293 | "謾": "谩", 2294 | "譁": "哗", 2295 | "譂": "𫟠", 2296 | "譅": "𰶎", 2297 | "譆": "𫍻", 2298 | "證": "证", 2299 | "譊": "𫍢", 2300 | "譎": "谲", 2301 | "譏": "讥", 2302 | "譑": "𫍤", 2303 | "譓": "𬤝", 2304 | "譖": "谮", 2305 | "識": "识", 2306 | "譙": "谯", 2307 | "譚": "谭", 2308 | "譜": "谱", 2309 | "譞": "𫍽", 2310 | "譟": "噪", 2311 | "譨": "𫍦", 2312 | "譫": "谵", 2313 | "譭": "毁", 2314 | "譯": "译", 2315 | "議": "议", 2316 | "譴": "谴", 2317 | "護": "护", 2318 | "譸": "诪", 2319 | "譽": "誉", 2320 | "譾": "谫", 2321 | "讀": "读", 2322 | "讅": "谉", 2323 | "變": "变", 2324 | "讋": "詟", 2325 | "讌": "䜩", 2326 | "讎": "雠", 2327 | "讒": "谗", 2328 | "讓": "让", 2329 | "讕": "谰", 2330 | "讖": "谶", 2331 | "讚": "赞", 2332 | "讜": "谠", 2333 | "讞": "谳", 2334 | "豈": "岂", 2335 | "豎": "竖", 2336 | "豐": "丰", 2337 | "豔": "艳", 2338 | "豬": "猪", 2339 | "豵": "𫎆", 2340 | "豶": "豮", 2341 | "貓": "猫", 2342 | "貗": "𫎌", 2343 | "貙": "䝙", 2344 | "貝": "贝", 2345 | "貞": "贞", 2346 | "貟": "贠", 2347 | "負": "负", 2348 | "財": "财", 2349 | "貢": "贡", 2350 | "貧": "贫", 2351 | "貨": "货", 2352 | "販": "贩", 2353 | "貪": "贪", 2354 | "貫": "贯", 2355 | "責": "责", 2356 | "貯": "贮", 2357 | "貰": "贳", 2358 | "貲": "赀", 2359 | "貳": "贰", 2360 | "貴": "贵", 2361 | "貶": "贬", 2362 | "買": "买", 2363 | "貸": "贷", 2364 | "貺": "贶", 2365 | "費": "费", 2366 | "貼": "贴", 2367 | "貽": "贻", 2368 | "貿": "贸", 2369 | "賀": "贺", 2370 | "賁": "贲", 2371 | "賂": "赂", 2372 | "賃": "赁", 2373 | "賄": "贿", 2374 | "賅": "赅", 2375 | "資": "资", 2376 | "賈": "贾", 2377 | "賊": "贼", 2378 | "賑": "赈", 2379 | "賒": "赊", 2380 | "賓": "宾", 2381 | "賕": "赇", 2382 | "賙": "赒", 2383 | "賚": "赉", 2384 | "賜": "赐", 2385 | "賝": "𫎩", 2386 | "賞": "赏", 2387 | "賟": "𧹖", 2388 | "賠": "赔", 2389 | "賡": "赓", 2390 | "賢": "贤", 2391 | "賣": "卖", 2392 | "賤": "贱", 2393 | "賦": "赋", 2394 | "賧": "赕", 2395 | "質": "质", 2396 | "賫": "赍", 2397 | "賬": "账", 2398 | "賭": "赌", 2399 | "賰": "䞐", 2400 | "賴": "赖", 2401 | "賵": "赗", 2402 | "賺": "赚", 2403 | "賻": "赙", 2404 | "購": "购", 2405 | "賽": "赛", 2406 | "賾": "赜", 2407 | "贃": "𧹗", 2408 | "贄": "贽", 2409 | "贅": "赘", 2410 | "贇": "赟", 2411 | "贈": "赠", 2412 | "贉": "𫎫", 2413 | "贊": "赞", 2414 | "贋": "赝", 2415 | "贍": "赡", 2416 | "贏": "赢", 2417 | "贐": "赆", 2418 | "贑": "𫎬", 2419 | "贓": "赃", 2420 | "贔": "赑", 2421 | "贖": "赎", 2422 | "贗": "赝", 2423 | "贚": "𫎦", 2424 | "贛": "赣", 2425 | "贜": "赃", 2426 | "赬": "赪", 2427 | "趕": "赶", 2428 | "趙": "赵", 2429 | "趨": "趋", 2430 | "趲": "趱", 2431 | "跡": "迹", 2432 | "踐": "践", 2433 | "踰": "逾", 2434 | "踴": "踊", 2435 | "蹌": "跄", 2436 | "蹔": "𫏐", 2437 | "蹕": "跸", 2438 | "蹟": "迹", 2439 | "蹠": "跖", 2440 | "蹣": "蹒", 2441 | "蹤": "踪", 2442 | "蹳": "𫏆", 2443 | "蹺": "跷", 2444 | "蹻": "𫏋", 2445 | "躂": "跶", 2446 | "躉": "趸", 2447 | "躊": "踌", 2448 | "躋": "跻", 2449 | "躍": "跃", 2450 | "躎": "䟢", 2451 | "躑": "踯", 2452 | "躒": "跞", 2453 | "躓": "踬", 2454 | "躕": "蹰", 2455 | "躘": "𨀁", 2456 | "躚": "跹", 2457 | "躝": "𨅬", 2458 | "躡": "蹑", 2459 | "躥": "蹿", 2460 | "躦": "躜", 2461 | "躪": "躏", 2462 | "軀": "躯", 2463 | "軉": "𨉗", 2464 | "車": "车", 2465 | "軋": "轧", 2466 | "軌": "轨", 2467 | "軍": "军", 2468 | "軏": "𫐄", 2469 | "軑": "轪", 2470 | "軒": "轩", 2471 | "軔": "轫", 2472 | "軕": "𫐅", 2473 | "軗": "𨐅", 2474 | "軛": "轭", 2475 | "軜": "𫐇", 2476 | "軝": "𬨂", 2477 | "軟": "软", 2478 | "軤": "轷", 2479 | "軨": "𫐉", 2480 | "軫": "轸", 2481 | "軬": "𫐊", 2482 | "軲": "轱", 2483 | "軷": "𫐈", 2484 | "軸": "轴", 2485 | "軹": "轵", 2486 | "軺": "轺", 2487 | "軻": "轲", 2488 | "軼": "轶", 2489 | "軾": "轼", 2490 | "軿": "𫐌", 2491 | "較": "较", 2492 | "輄": "𨐈", 2493 | "輅": "辂", 2494 | "輇": "辁", 2495 | "輈": "辀", 2496 | "載": "载", 2497 | "輊": "轾", 2498 | "輋": "𪨶", 2499 | "輒": "辄", 2500 | "輓": "挽", 2501 | "輔": "辅", 2502 | "輕": "轻", 2503 | "輖": "𫐏", 2504 | "輗": "𫐐", 2505 | "輛": "辆", 2506 | "輜": "辎", 2507 | "輝": "辉", 2508 | "輞": "辋", 2509 | "輟": "辍", 2510 | "輢": "𫐎", 2511 | "輥": "辊", 2512 | "輦": "辇", 2513 | "輨": "𫐑", 2514 | "輩": "辈", 2515 | "輪": "轮", 2516 | "輬": "辌", 2517 | "輮": "𫐓", 2518 | "輯": "辑", 2519 | "輳": "辏", 2520 | "輶": "𬨎", 2521 | "輷": "𫐒", 2522 | "輸": "输", 2523 | "輻": "辐", 2524 | "輼": "辒", 2525 | "輾": "辗", 2526 | "輿": "舆", 2527 | "轀": "辒", 2528 | "轂": "毂", 2529 | "轄": "辖", 2530 | "轅": "辕", 2531 | "轆": "辘", 2532 | "轇": "𫐖", 2533 | "轉": "转", 2534 | "轊": "𫐕", 2535 | "轍": "辙", 2536 | "轎": "轿", 2537 | "轐": "𫐗", 2538 | "轔": "辚", 2539 | "轗": "𫐘", 2540 | "轟": "轰", 2541 | "轠": "𫐙", 2542 | "轡": "辔", 2543 | "轢": "轹", 2544 | "轣": "𫐆", 2545 | "轤": "轳", 2546 | "辦": "办", 2547 | "辭": "辞", 2548 | "辮": "辫", 2549 | "辯": "辩", 2550 | "農": "农", 2551 | "迴": "回", 2552 | "逕": "迳", 2553 | "這": "这", 2554 | "連": "连", 2555 | "週": "周", 2556 | "進": "进", 2557 | "遊": "游", 2558 | "運": "运", 2559 | "過": "过", 2560 | "達": "达", 2561 | "違": "违", 2562 | "遙": "遥", 2563 | "遜": "逊", 2564 | "遞": "递", 2565 | "遠": "远", 2566 | "遡": "溯", 2567 | "適": "适", 2568 | "遱": "𫐷", 2569 | "遲": "迟", 2570 | "遷": "迁", 2571 | "選": "选", 2572 | "遺": "遗", 2573 | "遼": "辽", 2574 | "邁": "迈", 2575 | "還": "还", 2576 | "邇": "迩", 2577 | "邊": "边", 2578 | "邏": "逻", 2579 | "邐": "逦", 2580 | "郟": "郏", 2581 | "郵": "邮", 2582 | "鄆": "郓", 2583 | "鄉": "乡", 2584 | "鄒": "邹", 2585 | "鄔": "邬", 2586 | "鄖": "郧", 2587 | "鄟": "𫑘", 2588 | "鄧": "邓", 2589 | "鄩": "𬩽", 2590 | "鄭": "郑", 2591 | "鄰": "邻", 2592 | "鄲": "郸", 2593 | "鄳": "𫑡", 2594 | "鄴": "邺", 2595 | "鄶": "郐", 2596 | "鄺": "邝", 2597 | "酇": "酂", 2598 | "酈": "郦", 2599 | "醃": "腌", 2600 | "醖": "酝", 2601 | "醜": "丑", 2602 | "醞": "酝", 2603 | "醟": "蒏", 2604 | "醣": "糖", 2605 | "醫": "医", 2606 | "醬": "酱", 2607 | "醱": "酦", 2608 | "醲": "𬪩", 2609 | "醶": "𫑷", 2610 | "釀": "酿", 2611 | "釁": "衅", 2612 | "釃": "酾", 2613 | "釅": "酽", 2614 | "釋": "释", 2615 | "釐": "厘", 2616 | "釒": "钅", 2617 | "釓": "钆", 2618 | "釔": "钇", 2619 | "釕": "钌", 2620 | "釗": "钊", 2621 | "釘": "钉", 2622 | "釙": "钋", 2623 | "釚": "𫟲", 2624 | "針": "针", 2625 | "釟": "𫓥", 2626 | "釣": "钓", 2627 | "釤": "钐", 2628 | "釦": "扣", 2629 | "釧": "钏", 2630 | "釨": "𫓦", 2631 | "釩": "钒", 2632 | "釲": "𫟳", 2633 | "釳": "𨰿", 2634 | "釴": "𬬩", 2635 | "釵": "钗", 2636 | "釷": "钍", 2637 | "釹": "钕", 2638 | "釺": "钎", 2639 | "釾": "䥺", 2640 | "釿": "𬬱", 2641 | "鈀": "钯", 2642 | "鈁": "钫", 2643 | "鈃": "钘", 2644 | "鈄": "钭", 2645 | "鈅": "钥", 2646 | "鈆": "𫓪", 2647 | "鈇": "𫓧", 2648 | "鈈": "钚", 2649 | "鈉": "钠", 2650 | "鈋": "𨱂", 2651 | "鈍": "钝", 2652 | "鈎": "钩", 2653 | "鈐": "钤", 2654 | "鈑": "钣", 2655 | "鈒": "钑", 2656 | "鈔": "钞", 2657 | "鈕": "钮", 2658 | "鈖": "𫟴", 2659 | "鈗": "𫟵", 2660 | "鈛": "𫓨", 2661 | "鈞": "钧", 2662 | "鈠": "𨱁", 2663 | "鈡": "钟", 2664 | "鈣": "钙", 2665 | "鈥": "钬", 2666 | "鈦": "钛", 2667 | "鈧": "钪", 2668 | "鈮": "铌", 2669 | "鈯": "𨱄", 2670 | "鈰": "铈", 2671 | "鈲": "𨱃", 2672 | "鈳": "钶", 2673 | "鈴": "铃", 2674 | "鈷": "钴", 2675 | "鈸": "钹", 2676 | "鈹": "铍", 2677 | "鈺": "钰", 2678 | "鈽": "钸", 2679 | "鈾": "铀", 2680 | "鈿": "钿", 2681 | "鉀": "钾", 2682 | "鉁": "𨱅", 2683 | "鉅": "巨", 2684 | "鉆": "钻", 2685 | "鉈": "铊", 2686 | "鉉": "铉", 2687 | "鉊": "𬬿", 2688 | "鉋": "铇", 2689 | "鉍": "铋", 2690 | "鉑": "铂", 2691 | "鉔": "𫓬", 2692 | "鉕": "钷", 2693 | "鉗": "钳", 2694 | "鉚": "铆", 2695 | "鉛": "铅", 2696 | "鉝": "𫟷", 2697 | "鉞": "钺", 2698 | "鉠": "𫓭", 2699 | "鉢": "钵", 2700 | "鉤": "钩", 2701 | "鉥": "𬬸", 2702 | "鉦": "钲", 2703 | "鉧": "𬭁", 2704 | "鉬": "钼", 2705 | "鉭": "钽", 2706 | "鉮": "𬬹", 2707 | "鉳": "锫", 2708 | "鉶": "铏", 2709 | "鉷": "𫟹", 2710 | "鉸": "铰", 2711 | "鉺": "铒", 2712 | "鉻": "铬", 2713 | "鉽": "𫟸", 2714 | "鉾": "𫓴", 2715 | "鉿": "铪", 2716 | "銀": "银", 2717 | "銁": "𫓲", 2718 | "銂": "𫟻", 2719 | "銃": "铳", 2720 | "銅": "铜", 2721 | "銈": "𫓯", 2722 | "銊": "𫓰", 2723 | "銍": "铚", 2724 | "銏": "𫟶", 2725 | "銑": "铣", 2726 | "銓": "铨", 2727 | "銖": "铢", 2728 | "銘": "铭", 2729 | "銚": "铫", 2730 | "銛": "铦", 2731 | "銜": "衔", 2732 | "銠": "铑", 2733 | "銣": "铷", 2734 | "銥": "铱", 2735 | "銦": "铟", 2736 | "銨": "铵", 2737 | "銩": "铥", 2738 | "銪": "铕", 2739 | "銫": "铯", 2740 | "銬": "铐", 2741 | "銱": "铞", 2742 | "銳": "锐", 2743 | "銶": "𨱇", 2744 | "銷": "销", 2745 | "銹": "锈", 2746 | "銻": "锑", 2747 | "銼": "锉", 2748 | "鋁": "铝", 2749 | "鋂": "𰾄", 2750 | "鋃": "锒", 2751 | "鋅": "锌", 2752 | "鋇": "钡", 2753 | "鋉": "𨱈", 2754 | "鋌": "铤", 2755 | "鋏": "铗", 2756 | "鋐": "𬭎", 2757 | "鋒": "锋", 2758 | "鋗": "𫓶", 2759 | "鋙": "铻", 2760 | "鋝": "锊", 2761 | "鋟": "锓", 2762 | "鋠": "𫓵", 2763 | "鋣": "铘", 2764 | "鋤": "锄", 2765 | "鋥": "锃", 2766 | "鋦": "锔", 2767 | "鋨": "锇", 2768 | "鋩": "铓", 2769 | "鋪": "铺", 2770 | "鋭": "锐", 2771 | "鋮": "铖", 2772 | "鋯": "锆", 2773 | "鋰": "锂", 2774 | "鋱": "铽", 2775 | "鋶": "锍", 2776 | "鋸": "锯", 2777 | "鋹": "𬬮", 2778 | "鋼": "钢", 2779 | "錀": "𬬭", 2780 | "錁": "锞", 2781 | "錂": "𨱋", 2782 | "錄": "录", 2783 | "錆": "锖", 2784 | "錇": "锫", 2785 | "錈": "锩", 2786 | "錏": "铔", 2787 | "錐": "锥", 2788 | "錒": "锕", 2789 | "錕": "锟", 2790 | "錘": "锤", 2791 | "錙": "锱", 2792 | "錚": "铮", 2793 | "錛": "锛", 2794 | "錜": "𫓻", 2795 | "錝": "𫓽", 2796 | "錞": "𬭚", 2797 | "錟": "锬", 2798 | "錠": "锭", 2799 | "錡": "锜", 2800 | "錢": "钱", 2801 | "錤": "𫓹", 2802 | "錥": "𫓾", 2803 | "錦": "锦", 2804 | "錨": "锚", 2805 | "錩": "锠", 2806 | "錫": "锡", 2807 | "錮": "锢", 2808 | "錯": "错", 2809 | "録": "录", 2810 | "錳": "锰", 2811 | "錶": "表", 2812 | "錸": "铼", 2813 | "錼": "镎", 2814 | "錽": "𫓸", 2815 | "鍀": "锝", 2816 | "鍁": "锨", 2817 | "鍃": "锪", 2818 | "鍄": "𨱉", 2819 | "鍅": "钫", 2820 | "鍆": "钔", 2821 | "鍇": "锴", 2822 | "鍈": "锳", 2823 | "鍉": "𫔂", 2824 | "鍊": "炼", 2825 | "鍋": "锅", 2826 | "鍍": "镀", 2827 | "鍒": "𫔄", 2828 | "鍔": "锷", 2829 | "鍘": "铡", 2830 | "鍚": "钖", 2831 | "鍛": "锻", 2832 | "鍠": "锽", 2833 | "鍤": "锸", 2834 | "鍥": "锲", 2835 | "鍩": "锘", 2836 | "鍬": "锹", 2837 | "鍭": "𬭤", 2838 | "鍮": "𨱎", 2839 | "鍰": "锾", 2840 | "鍵": "键", 2841 | "鍶": "锶", 2842 | "鍺": "锗", 2843 | "鍼": "针", 2844 | "鍾": "钟", 2845 | "鎂": "镁", 2846 | "鎄": "锿", 2847 | "鎇": "镅", 2848 | "鎈": "𫟿", 2849 | "鎊": "镑", 2850 | "鎌": "镰", 2851 | "鎍": "𫔅", 2852 | "鎓": "𬭩", 2853 | "鎔": "镕", 2854 | "鎖": "锁", 2855 | "鎘": "镉", 2856 | "鎙": "𫔈", 2857 | "鎚": "锤", 2858 | "鎛": "镈", 2859 | "鎝": "𨱏", 2860 | "鎞": "𫔇", 2861 | "鎡": "镃", 2862 | "鎢": "钨", 2863 | "鎣": "蓥", 2864 | "鎦": "镏", 2865 | "鎧": "铠", 2866 | "鎩": "铩", 2867 | "鎪": "锼", 2868 | "鎬": "镐", 2869 | "鎭": "镇", 2870 | "鎮": "镇", 2871 | "鎯": "𨱍", 2872 | "鎰": "镒", 2873 | "鎲": "镋", 2874 | "鎳": "镍", 2875 | "鎵": "镓", 2876 | "鎶": "鿔", 2877 | "鎷": "𨰾", 2878 | "鎸": "镌", 2879 | "鎿": "镎", 2880 | "鏃": "镞", 2881 | "鏆": "𨱌", 2882 | "鏇": "旋", 2883 | "鏈": "链", 2884 | "鏉": "𨱒", 2885 | "鏌": "镆", 2886 | "鏍": "镙", 2887 | "鏏": "𬭬", 2888 | "鏐": "镠", 2889 | "鏑": "镝", 2890 | "鏗": "铿", 2891 | "鏘": "锵", 2892 | "鏚": "𬭭", 2893 | "鏜": "镗", 2894 | "鏝": "镘", 2895 | "鏞": "镛", 2896 | "鏟": "铲", 2897 | "鏡": "镜", 2898 | "鏢": "镖", 2899 | "鏤": "镂", 2900 | "鏥": "𫔊", 2901 | "鏦": "𫓩", 2902 | "鏨": "錾", 2903 | "鏰": "镚", 2904 | "鏵": "铧", 2905 | "鏷": "镤", 2906 | "鏹": "镪", 2907 | "鏺": "䥽", 2908 | "鏻": "𬭸", 2909 | "鏽": "锈", 2910 | "鏾": "𫔌", 2911 | "鐃": "铙", 2912 | "鐄": "𨱑", 2913 | "鐇": "𫔍", 2914 | "鐈": "𫓱", 2915 | "鐋": "铴", 2916 | "鐍": "𫔎", 2917 | "鐎": "𨱓", 2918 | "鐏": "𨱔", 2919 | "鐐": "镣", 2920 | "鐒": "铹", 2921 | "鐓": "镦", 2922 | "鐔": "镡", 2923 | "鐘": "钟", 2924 | "鐙": "镫", 2925 | "鐝": "镢", 2926 | "鐠": "镨", 2927 | "鐥": "䦅", 2928 | "鐦": "锎", 2929 | "鐧": "锏", 2930 | "鐨": "镄", 2931 | "鐩": "𬭼", 2932 | "鐪": "𫓺", 2933 | "鐫": "镌", 2934 | "鐮": "镰", 2935 | "鐯": "䦃", 2936 | "鐲": "镯", 2937 | "鐳": "镭", 2938 | "鐵": "铁", 2939 | "鐶": "镮", 2940 | "鐸": "铎", 2941 | "鐺": "铛", 2942 | "鐼": "𫔁", 2943 | "鐽": "𫟼", 2944 | "鐿": "镱", 2945 | "鑀": "𰾭", 2946 | "鑄": "铸", 2947 | "鑉": "𫠁", 2948 | "鑊": "镬", 2949 | "鑌": "镔", 2950 | "鑑": "鉴", 2951 | "鑒": "鉴", 2952 | "鑔": "镲", 2953 | "鑕": "锧", 2954 | "鑞": "镴", 2955 | "鑠": "铄", 2956 | "鑣": "镳", 2957 | "鑥": "镥", 2958 | "鑪": "𬬻", 2959 | "鑭": "镧", 2960 | "鑰": "钥", 2961 | "鑱": "镵", 2962 | "鑲": "镶", 2963 | "鑴": "𫔔", 2964 | "鑷": "镊", 2965 | "鑹": "镩", 2966 | "鑼": "锣", 2967 | "鑽": "钻", 2968 | "鑾": "銮", 2969 | "鑿": "凿", 2970 | "钁": "镢", 2971 | "钂": "镋", 2972 | "長": "长", 2973 | "門": "门", 2974 | "閂": "闩", 2975 | "閃": "闪", 2976 | "閆": "闫", 2977 | "閈": "闬", 2978 | "閉": "闭", 2979 | "開": "开", 2980 | "閌": "闶", 2981 | "閍": "𨸂", 2982 | "閎": "闳", 2983 | "閏": "闰", 2984 | "閐": "𨸃", 2985 | "閑": "闲", 2986 | "閒": "闲", 2987 | "間": "间", 2988 | "閔": "闵", 2989 | "閗": "𫔯", 2990 | "閘": "闸", 2991 | "閝": "𫠂", 2992 | "閞": "𫔰", 2993 | "閡": "阂", 2994 | "閣": "阁", 2995 | "閤": "合", 2996 | "閥": "阀", 2997 | "閨": "闺", 2998 | "閩": "闽", 2999 | "閫": "阃", 3000 | "閬": "阆", 3001 | "閭": "闾", 3002 | "閱": "阅", 3003 | "閲": "阅", 3004 | "閵": "𫔴", 3005 | "閶": "阊", 3006 | "閹": "阉", 3007 | "閻": "阎", 3008 | "閼": "阏", 3009 | "閽": "阍", 3010 | "閾": "阈", 3011 | "閿": "阌", 3012 | "闃": "阒", 3013 | "闆": "板", 3014 | "闇": "暗", 3015 | "闈": "闱", 3016 | "闉": "𬮱", 3017 | "闊": "阔", 3018 | "闋": "阕", 3019 | "闌": "阑", 3020 | "闍": "阇", 3021 | "闐": "阗", 3022 | "闑": "𫔶", 3023 | "闒": "阘", 3024 | "闓": "闿", 3025 | "闔": "阖", 3026 | "闕": "阙", 3027 | "闖": "闯", 3028 | "關": "关", 3029 | "闞": "阚", 3030 | "闠": "阓", 3031 | "闡": "阐", 3032 | "闢": "辟", 3033 | "闤": "阛", 3034 | "闥": "闼", 3035 | "阪": "阪", 3036 | "陘": "陉", 3037 | "陝": "陕", 3038 | "陞": "升", 3039 | "陣": "阵", 3040 | "陰": "阴", 3041 | "陳": "陈", 3042 | "陸": "陆", 3043 | "陽": "阳", 3044 | "隉": "陧", 3045 | "隊": "队", 3046 | "階": "阶", 3047 | "隑": "𬮿", 3048 | "隕": "陨", 3049 | "際": "际", 3050 | "隤": "𬯎", 3051 | "隨": "随", 3052 | "險": "险", 3053 | "隮": "𬯀", 3054 | "隯": "陦", 3055 | "隱": "隐", 3056 | "隴": "陇", 3057 | "隸": "隶", 3058 | "隻": "只", 3059 | "雋": "隽", 3060 | "雖": "虽", 3061 | "雙": "双", 3062 | "雛": "雏", 3063 | "雜": "杂", 3064 | "雞": "鸡", 3065 | "離": "离", 3066 | "難": "难", 3067 | "雲": "云", 3068 | "電": "电", 3069 | "霑": "沾", 3070 | "霢": "霡", 3071 | "霣": "𫕥", 3072 | "霧": "雾", 3073 | "霼": "𪵣", 3074 | "霽": "霁", 3075 | "靂": "雳", 3076 | "靄": "霭", 3077 | "靆": "叇", 3078 | "靈": "灵", 3079 | "靉": "叆", 3080 | "靚": "靓", 3081 | "靜": "静", 3082 | "靝": "靔", 3083 | "靦": "腼", 3084 | "靧": "𫖃", 3085 | "靨": "靥", 3086 | "鞏": "巩", 3087 | "鞝": "绱", 3088 | "鞦": "秋", 3089 | "鞽": "鞒", 3090 | "鞾": "𫖇", 3091 | "韁": "缰", 3092 | "韃": "鞑", 3093 | "韆": "千", 3094 | "韉": "鞯", 3095 | "韋": "韦", 3096 | "韌": "韧", 3097 | "韍": "韨", 3098 | "韓": "韩", 3099 | "韙": "韪", 3100 | "韚": "𫠅", 3101 | "韛": "𫖔", 3102 | "韜": "韬", 3103 | "韝": "鞲", 3104 | "韞": "韫", 3105 | "韠": "𫖒", 3106 | "韻": "韵", 3107 | "響": "响", 3108 | "頁": "页", 3109 | "頂": "顶", 3110 | "頃": "顷", 3111 | "項": "项", 3112 | "順": "顺", 3113 | "頇": "顸", 3114 | "須": "须", 3115 | "頊": "顼", 3116 | "頌": "颂", 3117 | "頍": "𫠆", 3118 | "頎": "颀", 3119 | "頏": "颃", 3120 | "預": "预", 3121 | "頑": "顽", 3122 | "頒": "颁", 3123 | "頓": "顿", 3124 | "頔": "𬱖", 3125 | "頗": "颇", 3126 | "領": "领", 3127 | "頜": "颌", 3128 | "頠": "𬱟", 3129 | "頡": "颉", 3130 | "頤": "颐", 3131 | "頦": "颏", 3132 | "頫": "𫖯", 3133 | "頭": "头", 3134 | "頮": "颒", 3135 | "頰": "颊", 3136 | "頲": "颋", 3137 | "頴": "颕", 3138 | "頵": "𫖳", 3139 | "頷": "颔", 3140 | "頸": "颈", 3141 | "頹": "颓", 3142 | "頻": "频", 3143 | "頽": "颓", 3144 | "顂": "𩓋", 3145 | "顃": "𩖖", 3146 | "顅": "𫖶", 3147 | "顆": "颗", 3148 | "題": "题", 3149 | "額": "额", 3150 | "顎": "颚", 3151 | "顏": "颜", 3152 | "顒": "颙", 3153 | "顓": "颛", 3154 | "顔": "颜", 3155 | "顗": "𫖮", 3156 | "願": "愿", 3157 | "顙": "颡", 3158 | "顛": "颠", 3159 | "類": "类", 3160 | "顢": "颟", 3161 | "顣": "𫖹", 3162 | "顥": "颢", 3163 | "顧": "顾", 3164 | "顫": "颤", 3165 | "顬": "颥", 3166 | "顯": "显", 3167 | "顰": "颦", 3168 | "顱": "颅", 3169 | "顳": "颞", 3170 | "顴": "颧", 3171 | "風": "风", 3172 | "颭": "飐", 3173 | "颮": "飑", 3174 | "颯": "飒", 3175 | "颰": "𩙥", 3176 | "颱": "台", 3177 | "颳": "刮", 3178 | "颶": "飓", 3179 | "颷": "𩙪", 3180 | "颸": "飔", 3181 | "颺": "飏", 3182 | "颻": "飖", 3183 | "颼": "飕", 3184 | "颾": "𩙫", 3185 | "飀": "飗", 3186 | "飄": "飘", 3187 | "飆": "飙", 3188 | "飈": "飚", 3189 | "飋": "𫗋", 3190 | "飛": "飞", 3191 | "飠": "饣", 3192 | "飢": "饥", 3193 | "飣": "饤", 3194 | "飥": "饦", 3195 | "飦": "𫗞", 3196 | "飩": "饨", 3197 | "飪": "饪", 3198 | "飫": "饫", 3199 | "飭": "饬", 3200 | "飯": "饭", 3201 | "飱": "飧", 3202 | "飲": "饮", 3203 | "飴": "饴", 3204 | "飵": "𫗢", 3205 | "飶": "𫗣", 3206 | "飼": "饲", 3207 | "飽": "饱", 3208 | "飾": "饰", 3209 | "飿": "饳", 3210 | "餃": "饺", 3211 | "餄": "饸", 3212 | "餅": "饼", 3213 | "餈": "糍", 3214 | "餉": "饷", 3215 | "養": "养", 3216 | "餌": "饵", 3217 | "餎": "饹", 3218 | "餏": "饻", 3219 | "餑": "饽", 3220 | "餒": "馁", 3221 | "餓": "饿", 3222 | "餔": "𫗦", 3223 | "餕": "馂", 3224 | "餖": "饾", 3225 | "餗": "𫗧", 3226 | "餘": "余", 3227 | "餚": "肴", 3228 | "餛": "馄", 3229 | "餜": "馃", 3230 | "餞": "饯", 3231 | "餡": "馅", 3232 | "餦": "𫗠", 3233 | "餧": "𫗪", 3234 | "館": "馆", 3235 | "餪": "𫗬", 3236 | "餫": "𫗥", 3237 | "餬": "糊", 3238 | "餭": "𫗮", 3239 | "餱": "糇", 3240 | "餳": "饧", 3241 | "餵": "喂", 3242 | "餶": "馉", 3243 | "餷": "馇", 3244 | "餸": "𩠌", 3245 | "餺": "馎", 3246 | "餼": "饩", 3247 | "餾": "馏", 3248 | "餿": "馊", 3249 | "饁": "馌", 3250 | "饃": "馍", 3251 | "饅": "馒", 3252 | "饈": "馐", 3253 | "饉": "馑", 3254 | "饊": "馓", 3255 | "饋": "馈", 3256 | "饌": "馔", 3257 | "饑": "饥", 3258 | "饒": "饶", 3259 | "饗": "飨", 3260 | "饘": "𫗴", 3261 | "饜": "餍", 3262 | "饞": "馋", 3263 | "饟": "𫗵", 3264 | "饠": "𫗩", 3265 | "饢": "馕", 3266 | "馬": "马", 3267 | "馭": "驭", 3268 | "馮": "冯", 3269 | "馯": "𫘛", 3270 | "馱": "驮", 3271 | "馳": "驰", 3272 | "馴": "驯", 3273 | "馹": "驲", 3274 | "馼": "𫘜", 3275 | "駁": "驳", 3276 | "駃": "𫘝", 3277 | "駉": "𬳶", 3278 | "駊": "𫘟", 3279 | "駎": "𩧨", 3280 | "駐": "驻", 3281 | "駑": "驽", 3282 | "駒": "驹", 3283 | "駓": "𬳵", 3284 | "駔": "驵", 3285 | "駕": "驾", 3286 | "駘": "骀", 3287 | "駙": "驸", 3288 | "駚": "𩧫", 3289 | "駛": "驶", 3290 | "駝": "驼", 3291 | "駞": "𫘞", 3292 | "駟": "驷", 3293 | "駡": "骂", 3294 | "駢": "骈", 3295 | "駤": "𫘠", 3296 | "駧": "𩧲", 3297 | "駩": "𩧴", 3298 | "駪": "𬳽", 3299 | "駫": "𫘡", 3300 | "駭": "骇", 3301 | "駰": "骃", 3302 | "駱": "骆", 3303 | "駶": "𩧺", 3304 | "駸": "骎", 3305 | "駻": "𫘣", 3306 | "駼": "𬳿", 3307 | "駿": "骏", 3308 | "騁": "骋", 3309 | "騂": "骍", 3310 | "騃": "𫘤", 3311 | "騄": "𫘧", 3312 | "騅": "骓", 3313 | "騉": "𫘥", 3314 | "騊": "𫘦", 3315 | "騌": "骔", 3316 | "騍": "骒", 3317 | "騎": "骑", 3318 | "騏": "骐", 3319 | "騑": "𬴂", 3320 | "騔": "𩨀", 3321 | "騖": "骛", 3322 | "騙": "骗", 3323 | "騚": "𩨊", 3324 | "騜": "𫘩", 3325 | "騝": "𩨃", 3326 | "騞": "𬴃", 3327 | "騟": "𩨈", 3328 | "騠": "𫘨", 3329 | "騤": "骙", 3330 | "騧": "䯄", 3331 | "騪": "𩨄", 3332 | "騫": "骞", 3333 | "騭": "骘", 3334 | "騮": "骝", 3335 | "騰": "腾", 3336 | "騱": "𫘬", 3337 | "騴": "𫘫", 3338 | "騵": "𫘪", 3339 | "騶": "驺", 3340 | "騷": "骚", 3341 | "騸": "骟", 3342 | "騻": "𫘭", 3343 | "騼": "𫠋", 3344 | "騾": "骡", 3345 | "驀": "蓦", 3346 | "驁": "骜", 3347 | "驂": "骖", 3348 | "驃": "骠", 3349 | "驄": "骢", 3350 | "驅": "驱", 3351 | "驊": "骅", 3352 | "驋": "𩧯", 3353 | "驌": "骕", 3354 | "驍": "骁", 3355 | "驎": "𬴊", 3356 | "驏": "骣", 3357 | "驓": "𫘯", 3358 | "驕": "骄", 3359 | "驗": "验", 3360 | "驙": "𫘰", 3361 | "驚": "惊", 3362 | "驛": "驿", 3363 | "驟": "骤", 3364 | "驢": "驴", 3365 | "驤": "骧", 3366 | "驥": "骥", 3367 | "驦": "骦", 3368 | "驨": "𫘱", 3369 | "驪": "骊", 3370 | "驫": "骉", 3371 | "骯": "肮", 3372 | "髏": "髅", 3373 | "髒": "脏", 3374 | "體": "体", 3375 | "髕": "髌", 3376 | "髖": "髋", 3377 | "髮": "发", 3378 | "鬆": "松", 3379 | "鬍": "胡", 3380 | "鬖": "𩭹", 3381 | "鬚": "须", 3382 | "鬠": "𫘽", 3383 | "鬢": "鬓", 3384 | "鬥": "斗", 3385 | "鬧": "闹", 3386 | "鬨": "哄", 3387 | "鬩": "阋", 3388 | "鬮": "阄", 3389 | "鬱": "郁", 3390 | "鬹": "鬶", 3391 | "魎": "魉", 3392 | "魘": "魇", 3393 | "魚": "鱼", 3394 | "魛": "鱽", 3395 | "魟": "𫚉", 3396 | "魢": "鱾", 3397 | "魥": "𩽹", 3398 | "魦": "𫚌", 3399 | "魨": "鲀", 3400 | "魯": "鲁", 3401 | "魴": "鲂", 3402 | "魵": "𫚍", 3403 | "魷": "鱿", 3404 | "魺": "鲄", 3405 | "魽": "𫠐", 3406 | "鮀": "𬶍", 3407 | "鮁": "鲅", 3408 | "鮃": "鲆", 3409 | "鮄": "𫚒", 3410 | "鮅": "𫚑", 3411 | "鮆": "𫚖", 3412 | "鮈": "𬶋", 3413 | "鮊": "鲌", 3414 | "鮋": "鲉", 3415 | "鮍": "鲏", 3416 | "鮎": "鲇", 3417 | "鮐": "鲐", 3418 | "鮑": "鲍", 3419 | "鮒": "鲋", 3420 | "鮓": "鲊", 3421 | "鮚": "鲒", 3422 | "鮜": "鲘", 3423 | "鮝": "鲞", 3424 | "鮞": "鲕", 3425 | "鮟": "𩽾", 3426 | "鮠": "𬶏", 3427 | "鮡": "𬶐", 3428 | "鮣": "䲟", 3429 | "鮤": "𫚓", 3430 | "鮦": "鲖", 3431 | "鮪": "鲔", 3432 | "鮫": "鲛", 3433 | "鮭": "鲑", 3434 | "鮮": "鲜", 3435 | "鮯": "𫚗", 3436 | "鮰": "𫚔", 3437 | "鮳": "鲓", 3438 | "鮵": "𫚛", 3439 | "鮶": "鲪", 3440 | "鮸": "𩾃", 3441 | "鮺": "鲝", 3442 | "鮿": "𫚚", 3443 | "鯀": "鲧", 3444 | "鯁": "鲠", 3445 | "鯄": "𩾁", 3446 | "鯆": "𫚙", 3447 | "鯇": "鲩", 3448 | "鯉": "鲤", 3449 | "鯊": "鲨", 3450 | "鯒": "鲬", 3451 | "鯔": "鲻", 3452 | "鯕": "鲯", 3453 | "鯖": "鲭", 3454 | "鯗": "鲞", 3455 | "鯛": "鲷", 3456 | "鯝": "鲴", 3457 | "鯞": "𫚡", 3458 | "鯡": "鲱", 3459 | "鯢": "鲵", 3460 | "鯤": "鲲", 3461 | "鯧": "鲳", 3462 | "鯨": "鲸", 3463 | "鯪": "鲮", 3464 | "鯫": "鲰", 3465 | "鯬": "𫚞", 3466 | "鯰": "鲶", 3467 | "鯱": "𩾇", 3468 | "鯴": "鲺", 3469 | "鯶": "𩽼", 3470 | "鯷": "鳀", 3471 | "鯻": "𬶟", 3472 | "鯽": "鲫", 3473 | "鯾": "𫚣", 3474 | "鯿": "鳊", 3475 | "鰁": "鳈", 3476 | "鰂": "鲗", 3477 | "鰃": "鳂", 3478 | "鰆": "䲠", 3479 | "鰈": "鲽", 3480 | "鰉": "鳇", 3481 | "鰊": "𬶠", 3482 | "鰋": "𫚢", 3483 | "鰌": "䲡", 3484 | "鰍": "鳅", 3485 | "鰏": "鲾", 3486 | "鰐": "鳄", 3487 | "鰑": "𫚊", 3488 | "鰒": "鳆", 3489 | "鰓": "鳃", 3490 | "鰕": "𫚥", 3491 | "鰛": "鳁", 3492 | "鰜": "鳒", 3493 | "鰟": "鳑", 3494 | "鰠": "鳋", 3495 | "鰣": "鲥", 3496 | "鰤": "𫚕", 3497 | "鰥": "鳏", 3498 | "鰦": "𫚤", 3499 | "鰧": "䲢", 3500 | "鰨": "鳎", 3501 | "鰩": "鳐", 3502 | "鰫": "𫚦", 3503 | "鰭": "鳍", 3504 | "鰮": "鳁", 3505 | "鰱": "鲢", 3506 | "鰲": "鳌", 3507 | "鰳": "鳓", 3508 | "鰵": "鳘", 3509 | "鰶": "𬶭", 3510 | "鰷": "鲦", 3511 | "鰹": "鲣", 3512 | "鰺": "鲹", 3513 | "鰻": "鳗", 3514 | "鰼": "鳛", 3515 | "鰽": "𫚧", 3516 | "鰾": "鳔", 3517 | "鱀": "𬶨", 3518 | "鱂": "鳉", 3519 | "鱄": "𫚋", 3520 | "鱅": "鳙", 3521 | "鱆": "𫠒", 3522 | "鱇": "𩾌", 3523 | "鱈": "鳕", 3524 | "鱉": "鳖", 3525 | "鱊": "𫚪", 3526 | "鱒": "鳟", 3527 | "鱔": "鳝", 3528 | "鱖": "鳜", 3529 | "鱗": "鳞", 3530 | "鱘": "鲟", 3531 | "鱚": "𬶮", 3532 | "鱝": "鲼", 3533 | "鱟": "鲎", 3534 | "鱠": "鲙", 3535 | "鱢": "𫚫", 3536 | "鱣": "鳣", 3537 | "鱤": "鳡", 3538 | "鱧": "鳢", 3539 | "鱨": "鲿", 3540 | "鱭": "鲚", 3541 | "鱮": "𫚈", 3542 | "鱯": "鳠", 3543 | "鱲": "𫚭", 3544 | "鱷": "鳄", 3545 | "鱸": "鲈", 3546 | "鱺": "鲡", 3547 | "鳥": "鸟", 3548 | "鳧": "凫", 3549 | "鳩": "鸠", 3550 | "鳬": "凫", 3551 | "鳲": "鸤", 3552 | "鳳": "凤", 3553 | "鳴": "鸣", 3554 | "鳶": "鸢", 3555 | "鳷": "𫛛", 3556 | "鳼": "𪉃", 3557 | "鳽": "𫛚", 3558 | "鳾": "䴓", 3559 | "鴀": "𫛜", 3560 | "鴃": "𫛞", 3561 | "鴅": "𫛝", 3562 | "鴆": "鸩", 3563 | "鴇": "鸨", 3564 | "鴉": "鸦", 3565 | "鴐": "𫛤", 3566 | "鴒": "鸰", 3567 | "鴔": "𫛡", 3568 | "鴕": "鸵", 3569 | "鴗": "𫁡", 3570 | "鴛": "鸳", 3571 | "鴜": "𪉈", 3572 | "鴝": "鸲", 3573 | "鴞": "鸮", 3574 | "鴟": "鸱", 3575 | "鴣": "鸪", 3576 | "鴥": "𫛣", 3577 | "鴦": "鸯", 3578 | "鴨": "鸭", 3579 | "鴮": "𫛦", 3580 | "鴯": "鸸", 3581 | "鴰": "鸹", 3582 | "鴲": "𪉆", 3583 | "鴳": "𫛩", 3584 | "鴴": "鸻", 3585 | "鴷": "䴕", 3586 | "鴻": "鸿", 3587 | "鴽": "𫛪", 3588 | "鴿": "鸽", 3589 | "鵁": "䴔", 3590 | "鵂": "鸺", 3591 | "鵃": "鸼", 3592 | "鵊": "𫛥", 3593 | "鵏": "𬷕", 3594 | "鵐": "鹀", 3595 | "鵑": "鹃", 3596 | "鵒": "鹆", 3597 | "鵓": "鹁", 3598 | "鵚": "𪉍", 3599 | "鵜": "鹈", 3600 | "鵝": "鹅", 3601 | "鵟": "𫛭", 3602 | "鵠": "鹄", 3603 | "鵡": "鹉", 3604 | "鵧": "𫛨", 3605 | "鵩": "𫛳", 3606 | "鵪": "鹌", 3607 | "鵫": "𫛱", 3608 | "鵬": "鹏", 3609 | "鵮": "鹐", 3610 | "鵯": "鹎", 3611 | "鵰": "雕", 3612 | "鵲": "鹊", 3613 | "鵷": "鹓", 3614 | "鵾": "鹍", 3615 | "鶄": "䴖", 3616 | "鶇": "鸫", 3617 | "鶉": "鹑", 3618 | "鶊": "鹒", 3619 | "鶌": "𫛵", 3620 | "鶒": "𫛶", 3621 | "鶓": "鹋", 3622 | "鶖": "鹙", 3623 | "鶗": "𫛸", 3624 | "鶘": "鹕", 3625 | "鶚": "鹗", 3626 | "鶠": "𬸘", 3627 | "鶡": "鹖", 3628 | "鶥": "鹛", 3629 | "鶦": "𫛷", 3630 | "鶩": "鹜", 3631 | "鶪": "䴗", 3632 | "鶬": "鸧", 3633 | "鶭": "𫛯", 3634 | "鶯": "莺", 3635 | "鶰": "𫛫", 3636 | "鶱": "𬸣", 3637 | "鶲": "鹟", 3638 | "鶴": "鹤", 3639 | "鶹": "鹠", 3640 | "鶺": "鹡", 3641 | "鶻": "鹘", 3642 | "鶼": "鹣", 3643 | "鶿": "鹚", 3644 | "鷀": "鹚", 3645 | "鷁": "鹢", 3646 | "鷂": "鹞", 3647 | "鷄": "鸡", 3648 | "鷅": "𫛽", 3649 | "鷉": "䴘", 3650 | "鷊": "鹝", 3651 | "鷐": "𫜀", 3652 | "鷓": "鹧", 3653 | "鷔": "𪉑", 3654 | "鷖": "鹥", 3655 | "鷗": "鸥", 3656 | "鷙": "鸷", 3657 | "鷚": "鹨", 3658 | "鷟": "𬸦", 3659 | "鷣": "𫜃", 3660 | "鷤": "𫛴", 3661 | "鷥": "鸶", 3662 | "鷦": "鹪", 3663 | "鷨": "𪉊", 3664 | "鷩": "𫜁", 3665 | "鷫": "鹔", 3666 | "鷭": "𬸪", 3667 | "鷯": "鹩", 3668 | "鷲": "鹫", 3669 | "鷳": "鹇", 3670 | "鷴": "鹇", 3671 | "鷷": "𫜄", 3672 | "鷸": "鹬", 3673 | "鷹": "鹰", 3674 | "鷺": "鹭", 3675 | "鷽": "鸴", 3676 | "鷿": "𬸯", 3677 | "鸂": "㶉", 3678 | "鸇": "鹯", 3679 | "鸊": "䴙", 3680 | "鸋": "𫛢", 3681 | "鸌": "鹱", 3682 | "鸏": "鹲", 3683 | "鸑": "𬸚", 3684 | "鸕": "鸬", 3685 | "鸗": "𫛟", 3686 | "鸘": "鹴", 3687 | "鸚": "鹦", 3688 | "鸛": "鹳", 3689 | "鸝": "鹂", 3690 | "鸞": "鸾", 3691 | "鹵": "卤", 3692 | "鹹": "咸", 3693 | "鹺": "鹾", 3694 | "鹼": "碱", 3695 | "鹽": "盐", 3696 | "麗": "丽", 3697 | "麥": "麦", 3698 | "麨": "𪎊", 3699 | "麩": "麸", 3700 | "麪": "面", 3701 | "麫": "面", 3702 | "麬": "𤿲", 3703 | "麯": "曲", 3704 | "麲": "𪎉", 3705 | "麳": "𪎌", 3706 | "麴": "曲", 3707 | "麵": "面", 3708 | "麷": "𫜑", 3709 | "麼": "么", 3710 | "麽": "么", 3711 | "黃": "黄", 3712 | "黌": "黉", 3713 | "點": "点", 3714 | "黨": "党", 3715 | "黲": "黪", 3716 | "黴": "霉", 3717 | "黶": "黡", 3718 | "黷": "黩", 3719 | "黽": "黾", 3720 | "黿": "鼋", 3721 | "鼂": "鼌", 3722 | "鼉": "鼍", 3723 | "鼕": "冬", 3724 | "鼴": "鼹", 3725 | "齊": "齐", 3726 | "齋": "斋", 3727 | "齎": "赍", 3728 | "齏": "齑", 3729 | "齒": "齿", 3730 | "齔": "龀", 3731 | "齕": "龁", 3732 | "齗": "龂", 3733 | "齘": "𬹼", 3734 | "齙": "龅", 3735 | "齜": "龇", 3736 | "齟": "龃", 3737 | "齠": "龆", 3738 | "齡": "龄", 3739 | "齣": "出", 3740 | "齦": "龈", 3741 | "齧": "啮", 3742 | "齩": "𫜪", 3743 | "齪": "龊", 3744 | "齬": "龉", 3745 | "齭": "𫜭", 3746 | "齮": "𬺈", 3747 | "齯": "𫠜", 3748 | "齰": "𫜬", 3749 | "齲": "龋", 3750 | "齴": "𫜮", 3751 | "齶": "腭", 3752 | "齷": "龌", 3753 | "齼": "𬺓", 3754 | "齾": "𫜰", 3755 | "龍": "龙", 3756 | "龎": "厐", 3757 | "龐": "庞", 3758 | "龑": "䶮", 3759 | "龓": "𫜲", 3760 | "龔": "龚", 3761 | "龕": "龛", 3762 | "龜": "龟", 3763 | "龭": "𩨎", 3764 | "龯": "𨱆", 3765 | "鿁": "䜤", 3766 | "鿓": "鿒", 3767 | "𠁞": "𠀾", 3768 | "𠌥": "𠆿", 3769 | "𠏢": "𠉗", 3770 | "𠐊": "𫝋", 3771 | "𠗣": "㓆", 3772 | "𠞆": "𠛆", 3773 | "𠠎": "𠚳", 3774 | "𠬙": "𪠡", 3775 | "𠽃": "𪠺", 3776 | "𠿕": "𪜎", 3777 | "𡂡": "𪢒", 3778 | "𡃄": "𪡺", 3779 | "𡃕": "𠴛", 3780 | "𡃤": "𪢐", 3781 | "𡄔": "𠴢", 3782 | "𡄣": "𠵸", 3783 | "𡅏": "𠲥", 3784 | "𡅯": "𪢖", 3785 | "𡑍": "𫭼", 3786 | "𡑭": "𡋗", 3787 | "𡓁": "𪤄", 3788 | "𡓾": "𡋀", 3789 | "𡔖": "𡍣", 3790 | "𡞵": "㛟", 3791 | "𡟫": "𫝪", 3792 | "𡠹": "㛿", 3793 | "𡢃": "㛠", 3794 | "𡮉": "𡭜", 3795 | "𡮣": "𡭬", 3796 | "𡳳": "𡳃", 3797 | "𡸗": "𪨩", 3798 | "𡹬": "𪨹", 3799 | "𡻕": "岁", 3800 | "𡽗": "𡸃", 3801 | "𡾱": "㟜", 3802 | "𡿖": "𪩛", 3803 | "𢍰": "𪪴", 3804 | "𢠼": "𢙑", 3805 | "𢣐": "𪬚", 3806 | "𢣚": "𢘝", 3807 | "𢣭": "𢘞", 3808 | "𢤩": "𪫡", 3809 | "𢤱": "𢘙", 3810 | "𢤿": "𪬯", 3811 | "𢯷": "𪭝", 3812 | "𢶒": "𪭯", 3813 | "𢶫": "𢫞", 3814 | "𢷮": "𢫊", 3815 | "𢹿": "𢬦", 3816 | "𢺳": "𪮳", 3817 | "𣈶": "暅", 3818 | "𣋋": "𣈣", 3819 | "𣍐": "𫧃", 3820 | "𣙎": "㭣", 3821 | "𣜬": "𪳗", 3822 | "𣝕": "𣘷", 3823 | "𣞻": "𣘓", 3824 | "𣠩": "𣞎", 3825 | "𣠲": "𣑶", 3826 | "𣯩": "𣯣", 3827 | "𣯴": "𣭤", 3828 | "𣯶": "毶", 3829 | "𣽏": "𪶮", 3830 | "𣾷": "㳢", 3831 | "𣿉": "𣶫", 3832 | "𤁣": "𣺽", 3833 | "𤄷": "𪶒", 3834 | "𤅶": "𣷷", 3835 | "𤑳": "𤎻", 3836 | "𤑹": "𪹀", 3837 | "𤒎": "𤊀", 3838 | "𤒻": "𪹹", 3839 | "𤓌": "𪹠", 3840 | "𤓎": "𤎺", 3841 | "𤓩": "𤊰", 3842 | "𤘀": "𪺣", 3843 | "𤛮": "𤙯", 3844 | "𤛱": "𫞢", 3845 | "𤜆": "𪺪", 3846 | "𤠮": "𪺸", 3847 | "𤢟": "𤝢", 3848 | "𤢻": "𢢐", 3849 | "𤩂": "𫞧", 3850 | "𤪺": "㻘", 3851 | "𤫩": "㻏", 3852 | "𤬅": "𪼴", 3853 | "𤳷": "𪽝", 3854 | "𤳸": "𤳄", 3855 | "𤷃": "𪽭", 3856 | "𤸫": "𤶧", 3857 | "𤺔": "𪽴", 3858 | "𥊝": "𥅿", 3859 | "𥌃": "𥅘", 3860 | "𥏝": "𪿊", 3861 | "𥕥": "𥐰", 3862 | "𥖅": "𥐯", 3863 | "𥖲": "𪿞", 3864 | "𥗇": "𪿵", 3865 | "𥗽": "𬒗", 3866 | "𥜐": "𫀓", 3867 | "𥜰": "𫀌", 3868 | "𥞵": "𥞦", 3869 | "𥢢": "䅪", 3870 | "𥢶": "𫞷", 3871 | "𥢷": "𫀮", 3872 | "𥨐": "𥧂", 3873 | "𥪂": "𥩺", 3874 | "𥯤": "𫁳", 3875 | "𥴨": "𫂖", 3876 | "𥴼": "𫁺", 3877 | "𥵃": "𥱔", 3878 | "𥵊": "𥭉", 3879 | "𥶽": "𫁱", 3880 | "𥸠": "𥮋", 3881 | "𥻦": "𫂿", 3882 | "𥼽": "𥹥", 3883 | "𥽖": "𥺇", 3884 | "𥾯": "𫄝", 3885 | "𥿊": "𦈈", 3886 | "𦀖": "𫄦", 3887 | "𦂅": "𦈒", 3888 | "𦃄": "𦈗", 3889 | "𦃩": "𫄯", 3890 | "𦅇": "𫄪", 3891 | "𦅈": "𫄵", 3892 | "𦆲": "𫟇", 3893 | "𦒀": "𫅥", 3894 | "𦔖": "𫅼", 3895 | "𦘧": "𡳒", 3896 | "𦟼": "𫆝", 3897 | "𦠅": "𫞅", 3898 | "𦡝": "𫆫", 3899 | "𦢈": "𣍨", 3900 | "𦣎": "𦟗", 3901 | "𦧺": "𫇘", 3902 | "𦪙": "䑽", 3903 | "𦪽": "𦨩", 3904 | "𦱌": "𫇪", 3905 | "𦾟": "𦶻", 3906 | "𧎈": "𧌥", 3907 | "𧒯": "𫊹", 3908 | "𧔥": "𧒭", 3909 | "𧕟": "𧉐", 3910 | "𧜗": "䘞", 3911 | "𧜵": "䙊", 3912 | "𧝞": "䘛", 3913 | "𧞫": "𫌋", 3914 | "𧟀": "𧝧", 3915 | "𧡴": "𫌫", 3916 | "𧢄": "𫌬", 3917 | "𧦝": "𫍞", 3918 | "𧦧": "𫍟", 3919 | "𧩕": "𫍭", 3920 | "𧩙": "䜥", 3921 | "𧩼": "𫍶", 3922 | "𧫝": "𫍺", 3923 | "𧬤": "𫍼", 3924 | "𧭈": "𫍾", 3925 | "𧭹": "𫍐", 3926 | "𧳟": "𧳕", 3927 | "𧵳": "䞌", 3928 | "𧶔": "𧹓", 3929 | "𧶧": "䞎", 3930 | "𧷎": "𪠀", 3931 | "𧸘": "𫎨", 3932 | "𧹈": "𪥠", 3933 | "𧽯": "𫎸", 3934 | "𨂐": "𫏌", 3935 | "𨄣": "𨀱", 3936 | "𨅍": "𨁴", 3937 | "𨆪": "𫏕", 3938 | "𨇁": "𧿈", 3939 | "𨇞": "𨅫", 3940 | "𨇤": "𫏨", 3941 | "𨇰": "𫏞", 3942 | "𨇽": "𫏑", 3943 | "𨈊": "𨂺", 3944 | "𨈌": "𨄄", 3945 | "𨊰": "䢀", 3946 | "𨊸": "䢁", 3947 | "𨊻": "𨐆", 3948 | "𨋢": "䢂", 3949 | "𨌈": "𫐍", 3950 | "𨍰": "𫐔", 3951 | "𨎌": "𫐋", 3952 | "𨎮": "𨐉", 3953 | "𨏠": "𨐇", 3954 | "𨏥": "𨐊", 3955 | "𨞺": "𫟫", 3956 | "𨟊": "𫟬", 3957 | "𨢿": "𨡙", 3958 | "𨣈": "𨡺", 3959 | "𨣞": "𨟳", 3960 | "𨣧": "𨠨", 3961 | "𨤻": "𨤰", 3962 | "𨥛": "𨱀", 3963 | "𨥟": "𫓫", 3964 | "𨦫": "䦀", 3965 | "𨧀": "𬭊", 3966 | "𨧜": "䦁", 3967 | "𨧰": "𫟽", 3968 | "𨧱": "𨱊", 3969 | "𨨏": "𬭛", 3970 | "𨨛": "𫓼", 3971 | "𨨢": "𫓿", 3972 | "𨩰": "𫟾", 3973 | "𨪕": "𫓮", 3974 | "𨫒": "𨱐", 3975 | "𨬖": "𫔏", 3976 | "𨭆": "𬭶", 3977 | "𨭎": "𬭳", 3978 | "𨭖": "𫔑", 3979 | "𨭸": "𫔐", 3980 | "𨮂": "𨱕", 3981 | "𨮳": "𫔒", 3982 | "𨯅": "䥿", 3983 | "𨯟": "𫔓", 3984 | "𨰃": "𫔉", 3985 | "𨰋": "𫓳", 3986 | "𨰥": "𫔕", 3987 | "𨰲": "𫔃", 3988 | "𨲳": "𫔖", 3989 | "𨳑": "𨸁", 3990 | "𨳕": "𨸀", 3991 | "𨴗": "𨸅", 3992 | "𨴹": "𫔲", 3993 | "𨵩": "𨸆", 3994 | "𨵸": "𨸇", 3995 | "𨶀": "𨸉", 3996 | "𨶏": "𨸊", 3997 | "𨶮": "𨸌", 3998 | "𨶲": "𨸋", 3999 | "𨷲": "𨸎", 4000 | "𨼳": "𫔽", 4001 | "𨽏": "𨸘", 4002 | "𩀨": "𫕚", 4003 | "𩅙": "𫕨", 4004 | "𩎖": "𫖑", 4005 | "𩎢": "𩏾", 4006 | "𩏂": "𫖓", 4007 | "𩏠": "𫖖", 4008 | "𩏪": "𩏽", 4009 | "𩏷": "𫃗", 4010 | "𩑔": "𫖪", 4011 | "𩒎": "𫖭", 4012 | "𩓣": "𩖕", 4013 | "𩓥": "𫖵", 4014 | "𩔑": "𫖷", 4015 | "𩔳": "𫖴", 4016 | "𩖰": "𫠇", 4017 | "𩗀": "𩙦", 4018 | "𩗓": "𫗈", 4019 | "𩗴": "𫗉", 4020 | "𩘀": "𩙩", 4021 | "𩘝": "𩙭", 4022 | "𩘹": "𩙨", 4023 | "𩘺": "𩙬", 4024 | "𩙈": "𩙰", 4025 | "𩚛": "𩟿", 4026 | "𩚥": "𩠀", 4027 | "𩚩": "𫗡", 4028 | "𩚵": "𩠁", 4029 | "𩛆": "𩠂", 4030 | "𩛌": "𫗤", 4031 | "𩛡": "𫗨", 4032 | "𩛩": "𩠃", 4033 | "𩜇": "𩠉", 4034 | "𩜦": "𩠆", 4035 | "𩜵": "𩠊", 4036 | "𩝔": "𩠋", 4037 | "𩝽": "𫗳", 4038 | "𩞄": "𩠎", 4039 | "𩞦": "𩠏", 4040 | "𩞯": "䭪", 4041 | "𩟐": "𩠅", 4042 | "𩟗": "𫗚", 4043 | "𩠴": "𩠠", 4044 | "𩡣": "𩡖", 4045 | "𩡺": "𩧦", 4046 | "𩢡": "𩧬", 4047 | "𩢴": "𩧵", 4048 | "𩢸": "𩧳", 4049 | "𩢾": "𩧮", 4050 | "𩣏": "𩧶", 4051 | "𩣑": "䯃", 4052 | "𩣫": "𩧸", 4053 | "𩣵": "𩧻", 4054 | "𩣺": "𩧼", 4055 | "𩤊": "𩧩", 4056 | "𩤙": "𩨆", 4057 | "𩤲": "𩨉", 4058 | "𩤸": "𩨅", 4059 | "𩥄": "𩨋", 4060 | "𩥇": "𩨍", 4061 | "𩥉": "𩧱", 4062 | "𩥑": "𩨌", 4063 | "𩦠": "𫠌", 4064 | "𩧆": "𩨐", 4065 | "𩭙": "𩬣", 4066 | "𩯁": "𫙂", 4067 | "𩯳": "𩯒", 4068 | "𩰀": "𩬤", 4069 | "𩰹": "𩰰", 4070 | "𩳤": "𩲒", 4071 | "𩴵": "𩴌", 4072 | "𩵦": "𫠏", 4073 | "𩵩": "𩽺", 4074 | "𩵹": "𩽻", 4075 | "𩶁": "𫚎", 4076 | "𩶘": "䲞", 4077 | "𩶰": "𩽿", 4078 | "𩶱": "𩽽", 4079 | "𩷰": "𩾄", 4080 | "𩸃": "𩾅", 4081 | "𩸄": "𫚝", 4082 | "𩸡": "𫚟", 4083 | "𩸦": "𩾆", 4084 | "𩻗": "𫚨", 4085 | "𩻬": "𫚩", 4086 | "𩻮": "𫚘", 4087 | "𩼶": "𫚬", 4088 | "𩽇": "𩾎", 4089 | "𩿅": "𫠖", 4090 | "𩿤": "𫛠", 4091 | "𩿪": "𪉄", 4092 | "𪀖": "𫛧", 4093 | "𪀦": "𪉅", 4094 | "𪀾": "𪉋", 4095 | "𪁈": "𪉉", 4096 | "𪁖": "𪉌", 4097 | "𪂆": "𪉎", 4098 | "𪃍": "𪉐", 4099 | "𪃏": "𪉏", 4100 | "𪃒": "𫛻", 4101 | "𪃧": "𫛹", 4102 | "𪄆": "𪉔", 4103 | "𪄕": "𪉒", 4104 | "𪅂": "𫜂", 4105 | "𪆷": "𫛾", 4106 | "𪇳": "𪉕", 4107 | "𪈼": "𱊜", 4108 | "𪉸": "𫜊", 4109 | "𪋿": "𫧮", 4110 | "𪌭": "𫜓", 4111 | "𪍠": "𫜕", 4112 | "𪓰": "𫜟", 4113 | "𪔵": "𪔭", 4114 | "𪘀": "𪚏", 4115 | "𪘯": "𪚐", 4116 | "𪙏": "𫜯", 4117 | "𪟖": "𠛾", 4118 | "𪷓": "𣶭", 4119 | "𫒡": "𫓷", 4120 | "𫜦": "𫜫" 4121 | } 4122 | 4123 | 4124 | def t2s(text: str) -> str: 4125 | """ 4126 | 实现繁体字到简体字的转换,ts_dic 是繁体到简体的字符映射表 4127 | 4128 | :param text: 需要转换的繁体字文本内容,可以是单行、多行、包含转义 4129 | :type text: 仅字符串. 4130 | :return: 转换后的 4131 | """ 4132 | result_chars = [] 4133 | 4134 | for character in text: 4135 | ch_convert = ts_dic.get(character, character) 4136 | result_chars.append(ch_convert) 4137 | 4138 | return ''.join(result_chars) 4139 | 4140 | 4141 | if __name__ == "__main__": 4142 | print(t2s("中文簡繁轉換開源項目,支持詞彙級別的轉換、異體字轉換和地區習慣用詞轉換(中國大陸、臺灣、香港、日本新字體)。不提供普通話與粵語的轉換。")) 4143 | --------------------------------------------------------------------------------