Braille Converter
将文本转换为Unicode盲文图案,反之亦然。
关于此工具
盲文是视障人士使用的触觉文字体系,每个字符由3×2单元中的隆起点的图案表示。本转换器可以将标准文本转换为Unicode盲文模式,也可以反向转换。它支持盲文在教育、无障碍测试和与盲文显示设备的数字通信中的应用。
使用该工具,首先选择是要将文本转换为盲文还是将盲文转换为文本,然后粘贴输入内容并点击转换。该工具实现了一级(非缩写)盲文,其中每个单元代表一个字母、数字或标点符号。输出使用Unicode盲文字符(U+2800至U+28FF),因此你可以轻松复制、共享或将结果粘贴到文档、电子邮件或其他应用程序中。
请注意,该工具生成的是一级盲文,适合学习和数字交换。对于官方盲文出版物,你应该咨询遵循《统一英语盲文》等既定标准的专业盲文转录服务。所有处理都在你的浏览器中本地进行,你的文本绝不会被发送到任何服务器。
常见问题
代码实现
# Grade 1 Braille (Unicode Braille Patterns U+2800)
LETTER_DOTS = {
'a': 0b000001, 'b': 0b000011, 'c': 0b001001, 'd': 0b011001, 'e': 0b010001,
'f': 0b001011, 'g': 0b011011, 'h': 0b010011, 'i': 0b001010, 'j': 0b011010,
'k': 0b000101, 'l': 0b000111, 'm': 0b001101, 'n': 0b011101, 'o': 0b010101,
'p': 0b001111, 'q': 0b011111, 'r': 0b010111, 's': 0b001110, 't': 0b011110,
'u': 0b100101, 'v': 0b100111, 'w': 0b111010, 'x': 0b101101, 'y': 0b111101,
'z': 0b110101,
}
DIGIT_DOTS = {str(i): v for i, v in enumerate(
[0b011010, 0b000001, 0b000011, 0b001001, 0b011001, 0b010001,
0b001011, 0b011011, 0b010011, 0b001010], 0)}
NUMBER_INDICATOR = 0b111100
def text_to_braille(text: str) -> str:
result = []
num_mode = False
for ch in text.lower():
if ch.isdigit():
if not num_mode:
result.append(chr(0x2800 + NUMBER_INDICATOR))
num_mode = True
result.append(chr(0x2800 + DIGIT_DOTS[ch]))
elif ch in LETTER_DOTS:
num_mode = False
result.append(chr(0x2800 + LETTER_DOTS[ch]))
elif ch == ' ':
num_mode = False
result.append(chr(0x2800))
else:
result.append(ch)
return ''.join(result)
print(text_to_braille("Hello 123"))
Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.