全角/半角转换全角和半角是文字的两种显示形式,"全角"指文字字身长宽比为一比一的正方形,而"半角"为宽度为全角一半的文字。现在这两个词通常用来指代计算机中显示的文字。
意义和用法在传统的字体排印学中,文字字身长宽比为 1 比 1 的正方形金属铅字原本称作"全身",而宽度只有一半的称为"半身"。另外对于小于一个"全身"的各种铅空称为"分空",通常称为"二分空"(注意不是"半身")"三分空""四分空""六分空"等等。
"半角/全角"源于日文,其中"角"是"方块"的意思,"全角/半角"在日文里即是原本"正方形/半个正方形大小文字"的本意,与西文字体排印学中 Em 和 En 单位含义相同。
而中文里的"角"虽然有"角度""角落"等含义,却没有"方块"的意思,中文在字体排印时不说"全角/半角"而说"全身/半身"。中文里说"半角/全角"是计算机文字编码技术引入时直接借用了日文的做法。
而目前对于计算机上的文字称作"全角字""全形字"和"半角字""半形字"的指代非常混乱。
"全角字""全形字"可能是指:
用两个字节存储的字符ASCII(所谓半角拉丁字母、符号及阿拉伯数字)以外所有的字符显示上字身宽度与字体高度相等(即字形外框为正方形)的字形"半角字""半形字"时可能指:
用单字节存储的字符(可能包括片假名)ASCII 字符即拉丁字母、数字和常见符号显示上字身宽度为字体高度一半的字形为了避免混乱,在使用"字宽"的本意时,可以使用从英文倒翻译回中文的"全宽/半宽"(fullwidth / halfwidth)。
历史在早期的计算机中,英语或拉丁字母语言使用的系统,每一个字母或符号,都是使用一字节的空间(一字节由 8 比特组成,共 256 个编码空间)来储存;而汉语、日语及韩语文字,由于数量大大超过 256 个,故惯常使用两字节来储存一个字符。所以这原本是编码层面的"单字节""双字节"的问题。
当时使用等宽字体(如 DOS、部分文字编辑器等)时,字体也就顺应这种编码形式,将中日韩文字的宽度绘制成拉丁字母和数字的两倍,这样字符的编码存储和显示宽度可以一一对应起来,"单字节"文字显示成"半宽","双字节"文字显示成"全宽"。因此当时的用户就开始习惯称中、日、韩等文字为"全角字符",而称拉丁字母或数字为"半角字符"。
但是,后来计算机的文字编码技术已经发生很大变化,存储一个字符可能用一个、两个、三个或者四个字节(如 UTF-8)。一个英文字符即使显示为半宽,依照不同的编码方式,并不一定是用一个字节存储;而日文的片假名也不一定是双字节,也可能用一个字节存储(即"半角片假名")。因此,现在字符编码存储和字符显示宽度的已经没有一一对应关系。但是由于字符编码和字形宽度曾经的对应关系,很多用户一直习惯性地使用"全角/半角"词汇。
Unicode 里的 East_Asian_Width 特性Unicode 标准的附件 11 (UAX#11) 中以信息性附件 (informative) 的形式,定义了东亚文字的字宽 East_Asian_Width 特性。
缩写名称描述 WWide(宽)自然的宽字符,如平假名。 NaNarrow(窄)自然的窄字符,如 ISO 基本拉丁字母。 FFullwidth(全宽)与自然的窄字符具有 Unicode 等价性的宽式变体,比如全宽拉丁字母。 HHalfwidth(半宽)与自然的宽字符具有 Unicode 等价性的窄式变体,如半角假名,包括 U+20A9(韩元符号)。 AAmbiguous(模糊)在东亚双字节字符集和欧洲单字节字符集中都有的编码的字符,如希腊字母,因此字宽行为会有所不同。 NNeutral(中性)没有出现在东亚双字节字符集编码中的字符,如天城文字母。 半角字符与全角字符的比较ASCII 字符半角字符与全角字符的比较(ASCII 字符)ASCII全角字符Unicode半角字符Unicode0x20" "U+3000" "U+00200x21!U+FF01!U+00210x22"U+FF02"U+00220x23#U+FF03#U+00230x24$U+FF04$U+00240x25%U+FF05%U+00250x26&U+FF06&U+00260x27'U+FF07'U+00270x28(U+FF08(U+00280x29)U+FF09)U+00290x2A*U+FF0A*U+002A0x2B+U+FF0B+U+002B0x2C,U+FF0C,U+002C0x2D-U+FF0D-U+002D0x2E.U+FF0E.U+002E0x2F/U+FF0F/U+002F0x300U+FF100U+00300x311U+FF111U+00310x322U+FF122U+00320x333U+FF133U+00330x344U+FF144U+00340x355U+FF155U+00350x366U+FF166U+00360x377U+FF177U+00370x388U+FF188U+00380x399U+FF199U+00390x3A:U+FF1A:U+003A0x3B;U+FF1B;U+003B0x3C<U+FF1CU+003E0x3F?U+FF1F?U+003F0x40@U+FF20@U+00400x41AU+FF21AU+00410x42BU+FF22BU+00420x43CU+FF23CU+00430x44DU+FF24DU+00440x45EU+FF25EU+00450x46FU+FF26FU+00460x47GU+FF27GU+00470x48HU+FF28HU+00480x49IU+FF29IU+00490x4AJU+FF2AJU+004A0x4BKU+FF2BKU+004B0x4CLU+FF2CLU+004C0x4DMU+FF2DMU+004D0x4ENU+FF2ENU+004E0x4FOU+FF2FOU+004F0x50PU+FF30PU+00500x51QU+FF31QU+00510x52RU+FF32RU+00520x53SU+FF33SU+00530x54TU+FF34TU+00540x55UU+FF35UU+00550x56VU+FF36VU+00560x57WU+FF37WU+00570x58XU+FF38XU+00580x59YU+FF39YU+00590x5AZU+FF3AZU+005A0x5B[U+FF3B[U+005B0x5C\U+FF3C\U+005C0x5D]U+FF3D]U+005D0x5E^U+FF3E^U+005E0x5F_U+FF3F_U+005F0x60`U+FF40`U+00600x61aU+FF41aU+00610x62bU+FF42bU+00620x63cU+FF43cU+00630x64dU+FF44dU+00640x65eU+FF45eU+00650x66fU+FF46fU+00660x67gU+FF47gU+00670x68hU+FF48hU+00680x69iU+FF49iU+00690x6AjU+FF4AjU+006A0x6BkU+FF4BkU+006B0x6ClU+FF4ClU+006C0x6DmU+FF4DmU+006D0x6EnU+FF4EnU+006E0x6FoU+FF4FoU+006F0x70pU+FF50pU+00700x71qU+FF51qU+00710x72rU+FF52rU+00720x73sU+FF53sU+00730x74tU+FF54tU+00740x75uU+FF55uU+00750x76vU+FF56vU+00760x77wU+FF57wU+00770x78xU+FF58xU+00780x79yU+FF59yU+00790x7AzU+FF5AzU+007A0x7B{U+FF5B{U+007B0x7C|U+FF5C|U+007C0x7D}U+FF5D}U+007D0x7E~U+FF5E~U+007E日文字符半角字符与全角字符的比较(日文字符)JIS X 0201半角字符Unicode全角字符Unicode0xA1。U+FF61。U+30020xA2「U+FF62「U+300C0xA3」U+FF63」U+300D0xA4、U+FF64、U+30010xA5・U+FF65・U+30FB0xA6ヲU+FF66ヲU+30F20xA7ァU+FF67ァU+30A10xA8ィU+FF68ィU+30A30xA9ゥU+FF69ゥU+30A50xAAェU+FF6AェU+30A70xABォU+FF6BォU+30A90xACャU+FF6CャU+30E30xADュU+FF6DュU+30E50xAEョU+FF6EョU+30E70xAFッU+FF6FッU+30C30xB0ーU+FF70ーU+30FC0xB1アU+FF71アU+30A20xB2イU+FF72イU+30A40xB3ウU+FF73ウU+30A60xB4エU+FF74エU+30A80xB5オU+FF75オU+30AA0xB6カU+FF76カU+30AB0xB7キU+FF77キU+30AD0xB8クU+FF78クU+30AF0xB9ケU+FF79ケU+30B10xBAコU+FF7AコU+30B30xBBサU+FF7BサU+30B50xBCシU+FF7CシU+30B70xBDスU+FF7DスU+30B90xBEセU+FF7EセU+30BB0xBFソU+FF7FソU+30BD0xC0タU+FF80タU+30BF0xC1チU+FF81チU+30C10xC2ツU+FF82ツU+30C40xC3テU+FF83テU+30C60xC4トU+FF84トU+30C80xC5ナU+FF85ナU+30CA0xC6ニU+FF86ニU+30CB0xC7ヌU+FF87ヌU+30CC0xC8ネU+FF88ネU+30CD0xC9ノU+FF89ノU+30CE0xCAハU+FF8AハU+30CF0xCBヒU+FF8BヒU+30D20xCCフU+FF8CフU+30D50xCDヘU+FF8DヘU+30D80xCEホU+FF8EホU+30DB0xCFマU+FF8FマU+30DE0xD0ミU+FF90ミU+30DF0xD1ムU+FF91ムU+30E00xD2メU+FF92メU+30E10xD3モU+FF93モU+30E20xD4ヤU+FF94ヤU+30E40xD5ユU+FF95ユU+30E60xD6ヨU+FF96ヨU+30E80xD7ラU+FF97ラU+30E90xD8リU+FF98リU+30EA0xD9ルU+FF99ルU+30EB0xDAレU+FF9AレU+30EC0xDBロU+FF9BロU+30ED0xDCワU+FF9CワU+30EF0xDDンU+FF9DンU+30F30xDE゙U+FF9E゛U+309B0xDF゚U+FF9F゜U+309C韩文字符半角字符与全角字符的比较(韩文字符)半角字符Unicode全角字符UnicodeᅠU+FFA0ㅤU+3164ᄀU+FFA1ㄱU+3131ᄁU+FFA2ㄲU+3132ᆪU+FFA3ㄳU+3133ᄂU+FFA4ㄴU+3134ᆬU+FFA5ㄵU+3135ᆭU+FFA6ㄶU+3136ᄃU+FFA7ㄷU+3137ᄄU+FFA8ㄸU+3138ᄅU+FFA9ㄹU+3139ᆰU+FFAAㄺU+313AᆱU+FFABㄻU+313BᆲU+FFACㄼU+313CᆳU+FFADㄽU+313DᆴU+FFAEㄾU+313EᆵU+FFAFㄿU+313FᄚU+FFB0ㅀU+3140ᄆU+FFB1ㅁU+3141ᄇU+FFB2ㅂU+3142ᄈU+FFB3ㅃU+3143ᄡU+FFB4ㅄU+3144ᄉU+FFB5ㅅU+3145ᄊU+FFB6ㅆU+3146ᄋU+FFB7ㅇU+3147ᄌU+FFB8ㅈU+3148ᄍU+FFB9ㅉU+3149ᄎU+FFBAㅊU+314AᄏU+FFBBㅋU+314BᄐU+FFBCㅌU+314CᄑU+FFBDㅍU+314DᄒU+FFBEㅎU+314EᅡU+FFC2ㅏU+314FᅢU+FFC3ㅐU+3150ᅣU+FFC4ㅑU+3151ᅤU+FFC5ㅒU+3152ᅥU+FFC6ㅓU+3153ᅦU+FFC7ㅔU+3154ᅧU+FFCAㅕU+3155ᅨU+FFCBㅖU+3156ᅩU+FFCCㅗU+3157ᅪU+FFCDㅘU+3158ᅫU+FFCEㅙU+3159ᅬU+FFCFㅚU+315AᅭU+FFD2ㅛU+315BᅮU+FFD3ㅜU+315CᅯU+FFD4ㅝU+315DᅰU+FFD5ㅞU+315EᅱU+FFD6ㅟU+315FᅲU+FFD7ㅠU+3160ᅳU+FFDAㅡU+3161ᅴU+FFDBㅢU+3162ᅵU+FFDCㅣU+3163其他字符半角字符与全角字符的比较(其他字符)半角字符Unicode全角字符Unicode⦅U+2985⦅U+FF5F⦆U+2986⦆U+FF60¢U+00A2¢U+FFE0£U+00A3£U+FFE1¬U+00AC¬U+FFE2¯U+00AF ̄U+FFE3¦U+00A6¦U+FFE4¥U+00A5¥U+FFE5₩U+20A9₩U+FFE6│U+FFE8│U+2502←U+FFE9←U+2190↑U+FFEA↑U+2191→U+FFEB→U+2192↓U+FFEC↓U+2193■U+FFED■U+25A0○U+FFEE○U+25CB⟨U+27E8〈U+3008⟩U+27E9〉U+3009⟪U+27EA《U+300A⟫U+27EB》U+300B⟬U+27EC〘U+3018⟭U+27ED〙U+3019⟦U+27E6〚U+301A⟧U+27E7〛U+301BOpenTypeOpenType 字体格式里定义了fwid、halt、hwid和vhal等GSUB特性,可以为同样一个编码(码位)的字符供替换成不同的字形(显示形式)。