zoukankan      html  css  js  c++  java
  • ASSIC码对照表

    编码对应字符:

    :u2714
    u2718

    <script type="text/javascript">
    var aaa = "u2718";
    document.write(aaa);
    </script>

    测试ASCII码的方法:
    在记事本中,按住ALT键,同时用小键盘输入十进制的ASCII码,然后松手,就可以看到效果了!

    ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符
    0 NUT 32 (space) 64 @ 96
    1 SOH 33 65 A 97 a
    2 STX 34 66 B 98 b
    3 ETX 35 # 67 C 99 c
    4 EOT 36 $ 68 D 100 d
    5 ENQ 37 % 69 E 101 e
    6 ACK 38 & 70 F 102 f
    7 BEL 39 , 71 G 103 g
    8 BS 40 ( 72 H 104 h
    9 HT 41 ) 73 I 105 i
    10 LF 42 * 74 J 106 j
    11 VT 43 + 75 K 107 k
    12 FF 44 , 76 L 108 l
    13 CR 45 - 77 M 109 m
    14 SO 46 . 78 N 110 n
    15 SI 47 / 79 O 111 o
    16 DLE 48 0 80 P 112 p
    17 DCI 49 1 81 Q 113 q
    18 DC2 50 2 82 R 114 r
    19 DC3 51 3 83 S 115 s
    20 DC4 52 4 84 T 116 t
    21 NAK 53 5 85 U 117 u
    22 SYN 54 6 86 V 118 v
    23 TB 55 7 87 W 119 w
    24 CAN 56 8 88 X 120 x
    25 EM 57 9 89 Y 121 y
    26 SUB 58 : 90 Z 122 z
    27 ESC 59 ; 91 [ 123 {
    28 FS 60 < 92 124 |
    29 GS 61 = 93 ] 125 }
    30 RS 62 > 94 ^ 126 ~
    31 US 63 ? 95 127 DEL

     

    NUL VT 垂直制表 SYN 空转同步
    SOH 标题开始 FF   走纸控制 ETB 信息组传送结束
    STX 正文开始 CR   回车 CAN 作废
    ETX 正文结束 SO   移位输出 EM   纸尽
    EOY 传输结束 SI    移位输入 SUB 换置
    ENQ 询问字符 DLE 空格 ESC 换码
    ACK 承认 DC1 设备控制1 FS   文字分隔符
    BEL 报警 DC2 设备控制2 GS   组分隔符
    BS   退一格 DC3 设备控制3 RS   记录分隔符
    HT   横向列表 DC4 设备控制4 US   单元分隔符
    LF   换行 NAK 否定 DEL 删除

     

     

    键盘常用ASCII码
    ESC键 VK_ESCAPE (27)
    回车键: VK_RETURN (13)
    TAB键: VK_TAB (9)
    Caps Lock键: VK_CAPITAL (20)
    Shift键: VK_SHIFT ($10)
    Ctrl键: VK_CONTROL (17)
    Alt键: VK_MENU (18)
    空格键: VK_SPACE ($20/32)
    退格键: VK_BACK (8)
    左徽标键: VK_LWIN (91)
    右徽标键: VK_LWIN (92)
    鼠标右键快捷键: VK_APPS (93)
    Insert键: VK_INSERT (45)
    Home键: VK_HOME (36)
    Page Up: VK_PRIOR (33)
    PageDown: VK_NEXT (34)
    End键: VK_END (35)
    Delete键: VK_DELETE (46)
    方向键(←): VK_LEFT (37)
    方向键(↑): VK_UP (38)
    方向键(→): VK_RIGHT (39)
    方向键(↓): VK_DOWN (40)
    F1键: VK_F1 (112)
    F2键: VK_F2 (113)
    F3键: VK_F3 (114)
    F4键: VK_F4 (115)
    F5键: VK_F5 (116)
    F6键: VK_F6 (117)
    F7键: VK_F7 (118)
    F8键: VK_F8 (119)
    F9键: VK_F9 (120)
    F10键: VK_F10 (121)
    F11键: VK_F11 (122)
    F12键: VK_F12 (123)
    Num Lock键: VK_NUMLOCK (144)
    小键盘0: VK_NUMPAD0 (96)
    小键盘1: VK_NUMPAD0 (97)
    小键盘2: VK_NUMPAD0 (98)
    小键盘3: VK_NUMPAD0 (99)
    小键盘4: VK_NUMPAD0 (100)
    小键盘5: VK_NUMPAD0 (101)
    小键盘6: VK_NUMPAD0 (102)
    小键盘7: VK_NUMPAD0 (103)
    小键盘8: VK_NUMPAD0 (104)
    小键盘9: VK_NUMPAD0 (105)
    小键盘.: VK_DECIMAL (110)
    小键盘*: VK_MULTIPLY (106)
    小键盘+: VK_MULTIPLY (107)
    小键盘-: VK_SUBTRACT (109)
    小键盘/: VK_DIVIDE (111)
    Pause Break键: VK_PAUSE (19)
    Scroll Lock键: VK_SCROLL (145)

    ASCII码中:
    第0~32号及第127号是控制字符,常见的控制符如:
    007 = 07 = U+0007 : BELL                                   转义符:a     响铃 008 = 08 = U+0008 : BACKSPACE                                                         转义符:     退格键 009 = 09 = U+0009 : HORIZONTAL TABULATION                                           转义符:       Tab键 010 = 0A = U+000A : LINE FEED                                                               转义符:      换行符 011 = 0B = U+000B : VERTICAL TABULATION                                               转义符:v     垂直 Tab 符 012 = 0C = U+000C : FORM FEED                                                              转义符:f      换页符 013 = 0D = U+000D : CARRIAGE RETURN                                                        转义符:       回车键 027 = 1B = U+001B : ESCAPE                                                                转义符:e     Esc 键

    第33~126号是字符,其中第48~57号为0~9十个阿拉伯数字;65~90号为26个大写英文字母,97~122号为26个小写英文字母,其余的是一些标点符号、运算符号等。

    PHP中的应用:
    ord():返回字符串第一个字符的 ASCII 值。
    chr():从指定的 ASCII 值返回字符。

    PHP字符编码ASCII 、GB2312、GBK、UTF-8解释:
    详细解释参考:http://bbs.php100.com/read.php?tid=295220

    中文编码范围E0~EF (UTF-8)
                     80~FF (GBK)

    ASCII码表及扩展ASCII码表详解:

    ASCII码表可以看成由三部分组成: 第一部分由00H到1FH共32个,一般用来通讯或作为控制之用,有些可以显示在屏幕上,有些则不能显示,但能看到其效果(如换行、退格).如下表:

    第二部分是由20H到7FH共96个,这95个字符是用来表示阿拉伯数字、英文字母大小写和下划线、括号等符号,都可以显示在屏幕上.如下表:

    ASCII 码 

    字符

      

    ASCII 码 

    字符

      

    ASCII 码 

    字符

      

    ASCII 码 

    字符

    十进制

    十六进制

    十进制

    十六进制

    十进制

    十六进制

    十进制

    十六进制

    032 

    20 

      

      

    056 

    38 

      

    080 

    50 

      

    104 

    68 

    033 

    21 

      

    057 

    39 

      

    081 

    51 

      

    105 

    69 

    034 

    22 

      

    058 

    3A 

      

    082 

    52 

      

    106 

    6A 

    035 

    23 

      

    059 

    3B 

      

    083 

    53 

      

    107 

    6B 

    036 

    24 

      

    060 

    3C 

      

    084 

    54 

      

    108 

    6C 

    037 

    25 

      

    061 

    3D 

      

    085 

    55 

      

    109 

    6D 

    038 

    26 

      

    062 

    3E 

      

    086 

    56 

      

    110 

    6E 

    039 

    27 

      

    063 

    3F 

      

    087 

    57 

      

    111 

    6F 

    040 

    28 

      

    064 

    40 

      

    088 

    58 

      

    112 

    70 

    041 

    29 

      

    065 

    41 

      

    089 

    59 

      

    113 

    71 

    042 

    2A 

      

    066 

    42 

      

    090 

    5A 

      

    114 

    72 

    043 

    2B 

      

    067 

    43 

      

    091 

    5B 

      

    115 

    73 

    044 

    2C 

      

    068 

    44 

      

    092 

    5C 

     

      

    116 

    74 

    045 

    2D 

      

    069 

    45 

      

    093 

    5D 

      

    117 

    75 

    046 

    2E 

      

    070 

    46 

      

    094 

    5E 

      

    118 

    76 

    047 

    2F 

      

    071 

    47 

      

    095 

    5F 

      

    119 

    77 

    048 

    30 

      

    072 

    48 

      

    096 

    60 

      

    120 

    78 

    049 

    31 

      

    073 

    49 

      

    097 

    61 

      

    121 

    79 

    050 

    32 

      

    074 

    4A 

      

    098 

    62 

      

    122 

    7A 

    051 

    33 

      

    075 

    4B 

      

    099 

    63 

      

    123 

    7B 

    052 

    34 

      

    076 

    4C 

      

    100 

    64 

      

    124 

    7C 

    053 

    35 

      

    077 

    4D 

      

    101 

    65 

      

    125 

    7D 

    054 

    36 

      

    078 

    4E 

      

    102 

    66 

      

    126 

    7E 

    055 

    37 

      

    079 

    4F 

      

    103 

    67 

      

    127 

    7F 

     

    第三部分由80H到0FFH共128个字符,一般称为"扩充字符",这128个扩充字符是由IBM制定的,并非标准的ASCII码.这些字符是用来表示框线、音标和其它欧洲非英语系的字母.
     

    由获取汉字首字母引起的gb2312编码表的思考

    GB2312 字符集和编码说明(码表见http://www.cnblogs.com/thinksasa/p/3956458.html)

    (1)GB2312 字符集
      GB2312 是汉字字符集和编码的代号,中文全称为“信息交换用汉字编码字符集”,由中华人民共和国国家标准总局发布,一九八一年五月一日实施。GB 是“国标” 二字的汉语拼音缩写。

    (2)GB2312 字符集 (character set) 只收录简化字汉字,以及一般常用字母和符号,主要通行于中国大陆地区和新加坡等地。

    (3)GB2312 共收录有 7445 个字符,其中简化汉字 6763 个,字母和符号 682 个。

    (4)GB2312 将所收录的字符分为 94 个区,编号为 01 区至 94 区;每个区收录 94 个字符,编号为 01 位至 94 位。GB2312 的每一个字符都由与其唯一对应的区号和位号所确定。例如:汉字“啊”,编号为 16 区 01 位。

    (5)GB2312 字符集的区位分布表:
    区号    字数    字符类别 
        01      94    一般符号 
        02      72    顺序号码 
        03      94    拉丁字母 
        04      83    日文假名 
        05      86    Katakana 
        06      48    希腊字母 
        07      66    俄文字母 
        08      63    汉语拼音符号 
        09      76    图形符号 
     10-15            备用区 
     16-55    3755    一级汉字,以拼音为序 
     56-87    3008    二级汉字,以笔划为序 
     88-94            备用区   

    GB2312 编码

      举例来说,“啊”字是GB2312之中的第一个汉字,它的区位码就是1601。字节编码,通常采用EUC储存方法,以便兼容于ASCII。每个汉字及符号以两个字节来表示 。第一个字节称为“高位字节”,第二个字节称为“低位字节”。 “高位字节”使用了0xA1-0xF7(把01-87区的区号加上0xA0),“低位字节”使用了0xA1-0xFE(把01-94加上0xA0)。例如 “啊”字在大多数程序中,会以0xB0A1储存(与区位码对比:0xB0=0xA0+16,0xA1=0xA0+1)。

      所以GB2312编码中汉字区码的十进制是从176到247,位码是从161到255.之所以存储了6763小于72(一级汉字和二级汉字所占的区)*94(每个区有94个汉字)=6768,是因为在区码为215,位码为250-254之间共五个编码没有汉字编码,所以6768-5=6763个

    GB2312 与 Unicode 的关系

      GB2312 字符集是 Unicode 字符集的一个子集。这也就是说,GB2312 所收录的每一个字符都收录在 Unicode 之中。但是 GB2312 编码和 Unicode 编码确没有什么相同之处。同一个汉字,它的 GB2312 编码和 Unicode 编码确毫不相同。例如:汉字“啊”,它的 GB2312 编码为 0xB0A1,但是它的Unicode 编码为 0x554A。

    举例:

    高位:B0=A0+16(区码),低位:A1=A0+1(位码)
    所以编码为B0A1,
    计算的十进制值:176(B0的十进制值)*256(高八位)+161(A1的十进制值)=45217

     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
    <?php  function getfirstchar($s0){    
        $fchar = ord($s0{0}); 
        if($fchar >= ord("A") and $fchar <= ord("z") )return strtoupper($s0{0}); 
        $s1 = iconv("UTF-8","gb2312", $s0); 
        $s2 = iconv("gb2312","UTF-8", $s1); 
        if($s2 == $s0){$s = $s1;}else{$s = $s0;} 
        $asc = ord($s{0}) * 256 + ord($s{1}) - 65536; 
    
        if($asc >= -20319 and $asc <= -20284) return "A"; 
        if($asc >= -20283 and $asc <= -19776) return "B"; 
        if($asc >= -19775 and $asc <= -19219) return "C"; 
        if($asc >= -19218 and $asc <= -18711) return "D"; 
        if($asc >= -18710 and $asc <= -18527) return "E"; 
        if($asc >= -18526 and $asc <= -18240) return "F"; 
        if($asc >= -18239 and $asc <= -17760) return "G";
        if($asc >= -17759 and $asc <= -17248) return "H";
        if($asc >= -17247 and $asc <= -17418) return "I"; 
        if($asc >= -17417 and $asc <= -16475) return "J"; 
        if($asc >= -16474 and $asc <= -16213) return "K"; 
        if($asc >= -16212 and $asc <= -15641) return "L"; 
        if($asc >= -15640 and $asc <= -15166) return "M"; 
        if($asc >= -15165 and $asc <= -14923) return "N"; 
        if($asc >= -14922 and $asc <= -14915) return "O"; 
        if($asc >= -14914 and $asc <= -14631) return "P"; 
        if($asc >= -14630 and $asc <= -14150) return "Q"; 
        if($asc >= -14149 and $asc <= -14091) return "R"; 
        if($asc >= -14090 and $asc <= -13319) return "S"; 
        if($asc >= -13318 and $asc <= -12839) return "T"; 
        if($asc >= -12838 and $asc <= -12557) return "W"; 
        if($asc >= -12556 and $asc <= -11848) return "X"; 
        if($asc >= -11847 and $asc <= -11056) return "Y"; 
        if($asc >= -11055 and $asc <= -10247) return "Z"; 
        return null; 
    } 
      
     function pinyin1($zh){ 
        $ret = ""; 
        $s1 = iconv("UTF-8","gb2312", $zh); 
        $s2 = iconv("gb2312","UTF-8", $s1); 
        if($s2 == $zh){$zh = $s1;} 
        for($i = 0; $i < strlen($zh); $i++){ 
            $s1 = substr($zh,$i,1); 
            $p = ord($s1); 
            if($p > 160){ 
                $s2 = substr($zh,$i++,2); 
                $ret .= getfirstchar($s2); 
            }else{ 
                $ret .= $s1; 
            } 
        } 
        return $ret; 
    } echo "这是中文字符串<br/>"; echo pinyin1("啊"); 
      
    ?>

    由此可以得出结论:
      将字符串转使用GB2312编码后,符合ASCII编码的每个字符都用1个字节 (byte) 表示,符合GB2312编码的每个字符都用2个字节 (byte) 表示。
      如:“javaGB2312编码”的字符串,“javaGB2312”的字符串长度为:10,“编码”的字符串的长度为:4,所以字符串的长度为:14。
      当由字节数组转换为GB2312编码的字符时,如果转换的字节ASCII的值ord($str)是:0 到127,转换就用ASCII码表示,则用1个字节表示一个字符;如果转换的字节ASCII的值是:161到255,转换就用GB2312编码表示,则用2个字节表示一个字符。


  • 相关阅读:
    SNMP概述–运维必知的协议基础
    关于多线程情况下Net-SNMP v3 版本导致进程假死情况的跟踪与分析
    关于snmp octet string和普通string问题
    SVN状态说明
    SNMP mib文件说明
    Linux之 proc文件系统
    django .all .values .value_list 数据库获取数据
    Django form验证
    JSONP实现
    iframe和form表单实现ajax请求上传数据
  • 原文地址:https://www.cnblogs.com/thinksasa/p/3530813.html
Copyright © 2011-2022 走看看