半角转全角:日文排版与表单输入
日文表单常要求全角输入,英文数字混排时也要统一视觉宽度。转换是机械的码位映射,但空格的处理最容易被忽略。
什么场景真的需要它
日本的申请表、简历、转账信息里,「全角で入力」是很常见的要求。把半角的英文名、数字转成全角才能通过格式校验;做日文排版时,全角与半角混排也会让字距看起来不齐,全角字体宽度统一,整体更整齐。
另一个场景是旧文档统一。同一份材料里有的地方全角、有的地方半角,宽窄不一;统一成全角后配合日文字体看起来更整齐,也更接近传统排版的做法,代价是同样的内容占用的宽度会变大。
- 日文表单要求全角输入
- 英文数字混排的视觉统一
- 旧文档里的全角半角混用
转换范围与副作用
转换范围是 ASCII 可打印字符 0x21–0x7E,每个加 0xFEE0 得到对应全角:A 变 A、1 变 1、! 变 !。汉字和假名不在范围内,日文的 、和 。也不受影响。
所有空格都会换成全角空格 U+3000,包括英文单词之间。Hello World 会变成 Hello World,词距明显变宽;代码缩进、网址、邮箱里的空格和符号也会跟着变形,通常直接失效。全角字符更宽,按钮和表格文字可能溢出。
- ASCII 可打印字符加 0xFEE0 变全角
- 所有空格变成 U+3000
- 全角字符更宽,注意溢出
替代方案与不该用的地方
只要求数字全角时,很多表单和输入法自带转换,比整段转更安全。日文排版通常只要求数字和字母全角,标点是否全角另有规定,先看清要求再动手,别把括号和逗号一起转掉,否则排版会更乱。
反过来,从日文文档复制来的全角数字导致程序报错时,用全角转半角。两个方向都不判断语境,涉及代码、口令、链接时务必先备份,转换后再逐个核对容易出问题的位置,比如数字和小数点。
常见问题
为什么英文单词之间的空格变得很宽?
因为所有空格都被换成了全角空格 U+3000,宽度约等于一个汉字。英文单词之间也会出现这种宽间隔,若不希望如此,请在转换后把空格改回半角。
能只把数字转成全角吗?
本工具会处理整段文本里的所有 ASCII 字符。只想转数字时,先把数字单独放一行转换再拼回去,或用支持正则替换的编辑器只选数字部分。
转换后代码不能用了怎么办?
全角符号无法被编译器识别,这是预期结果。代码、网址、命令行都不应该转全角;从备份恢复,或重新用全角转半角转回来。转换前请先保存原文件。
相关工具:半角转全角