Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-十六进制到EBCDIC的转换_Php - Fatal编程技术网

PHP-十六进制到EBCDIC的转换

PHP-十六进制到EBCDIC的转换,php,Php,如何在PHP中将Hex值转换为EBCDIC 最实用的方法是什么 到目前为止,我所做的是从十六进制到Ascii码: Hex : 313233343536373832313332333435 Ascii: 123456782132345 通过使用: hex2bin($foo); 如果您提供ebcdic到ascii的映射,则应完成此工作 3个字母字母表的映射示例: $ebcdicSet = "\x81\x84\xa2"; $asciiSet = "ads"; $ebcdic = "\x81\xa

如何在PHP中将
Hex
值转换为
EBCDIC

最实用的方法是什么

到目前为止,我所做的是从十六进制到Ascii码:

Hex : 313233343536373832313332333435
Ascii: 123456782132345
通过使用:

hex2bin($foo);
如果您提供ebcdic到ascii的映射,则应完成此工作

3个字母字母表的映射示例:

$ebcdicSet = "\x81\x84\xa2";
$asciiSet = "ads";

$ebcdic = "\x81\xa2\x84\x81\xa2\x84";  // 6 bytes
$ascii = strtr($ebcdic, $ebcdicSet, $asciiSet);

echo $ascii; // outputs "asdasd"
如果您的输入不是二进制十六进制,而是带有十六进制表示的sting,则需要首先对其进行HEX2B:

$ebcdic = "81a28481a284"; // 12 bytes
$ascii = strtr(hex2bin($ebcdic), $ebcdicSet, $asciiSet);
echo $ascii; // outputs "asdasd"
如果您提供ebcdic到ascii的映射,则应完成此工作

3个字母字母表的映射示例:

$ebcdicSet = "\x81\x84\xa2";
$asciiSet = "ads";

$ebcdic = "\x81\xa2\x84\x81\xa2\x84";  // 6 bytes
$ascii = strtr($ebcdic, $ebcdicSet, $asciiSet);

echo $ascii; // outputs "asdasd"
如果您的输入不是二进制十六进制,而是带有十六进制表示的sting,则需要首先对其进行HEX2B:

$ebcdic = "81a28481a284"; // 12 bytes
$ascii = strtr(hex2bin($ebcdic), $ebcdicSet, $asciiSet);
echo $ascii; // outputs "asdasd"

如果使用从EBCDIC到ASCII的内置函数

   function ebcdic_to_ascii($ebcdic_hexstring /*expecting something like F0F1....*/)
    {
        //need to delcare it to avoid warning
$ebcd_ascii= null;
  // here come all the conversion
$ebcd_ascii["4A"] = "¢";
$ebcd_ascii["4B"] = ".";
$ebcd_ascii["4C"] = "<";
$ebcd_ascii["4D"] = "(";
$ebcd_ascii["4E"] = "+";
$ebcd_ascii["4F"] = "|";
$ebcd_ascii["5A"] = "!";
$ebcd_ascii["5B"] = "$";
$ebcd_ascii["5C"] = "*";
$ebcd_ascii["5D"] = ")";
$ebcd_ascii["5E"] = ";";
$ebcd_ascii["5F"] = "¬";
$ebcd_ascii["60"] = "-";
$ebcd_ascii["61"] = "/";
$ebcd_ascii["6A"] = "¦";
$ebcd_ascii["6B"] = ",";
$ebcd_ascii["6C"] = "%";
$ebcd_ascii["6D"] = "_";
$ebcd_ascii["6E"] = ">";
$ebcd_ascii["6F"] = "?";
$ebcd_ascii["79"] = "`";
$ebcd_ascii["7A"] = ":";
$ebcd_ascii["7B"] = "#";
$ebcd_ascii["7C"] = "@";
$ebcd_ascii["7D"] = "'";
$ebcd_ascii["7E"] = "=";
$ebcd_ascii["7F"] = " '' ";
$ebcd_ascii["81"] = "a";
$ebcd_ascii["82"] = "b";
$ebcd_ascii["83"] = "c";
$ebcd_ascii["84"] = "d";
$ebcd_ascii["85"] = "e";
$ebcd_ascii["86"] = "f";
$ebcd_ascii["87"] = "g";
$ebcd_ascii["88"] = "h";
$ebcd_ascii["89"] = "i";
$ebcd_ascii["91"] = "j";
$ebcd_ascii["92"] = "k";
$ebcd_ascii["93"] = "l";
$ebcd_ascii["94"] = "m";
$ebcd_ascii["95"] = "n";
$ebcd_ascii["96"] = "o";
$ebcd_ascii["97"] = "p";
$ebcd_ascii["98"] = "q";
$ebcd_ascii["99"] = "r";
$ebcd_ascii["A1"] = "~";
$ebcd_ascii["A2"] = "s";
$ebcd_ascii["A3"] = "t";
$ebcd_ascii["A4"] = "u";
$ebcd_ascii["A5"] = "v";
$ebcd_ascii["A6"] = "w";
$ebcd_ascii["A7"] = "x";
$ebcd_ascii["A8"] = "y";
$ebcd_ascii["A9"] = "z";
$ebcd_ascii["C0"] = "{";
$ebcd_ascii["C1"] = "A";
$ebcd_ascii["C2"] = "B";
$ebcd_ascii["C3"] = "C";
$ebcd_ascii["C4"] = "D";
$ebcd_ascii["C5"] = "E";
$ebcd_ascii["C6"] = "F";
$ebcd_ascii["C7"] = "G";
$ebcd_ascii["C7"] = "H";
$ebcd_ascii["C9"] = "I";
$ebcd_ascii["D0"] = "}";
$ebcd_ascii["D1"] = "J";
$ebcd_ascii["D2"] = "K";
$ebcd_ascii["D3"] = "L";
$ebcd_ascii["D4"] = "M";
$ebcd_ascii["D5"] = "N";
$ebcd_ascii["D6"] = "O";
$ebcd_ascii["D7"] = "P";
$ebcd_ascii["D8"] = "Q";
$ebcd_ascii["D9"] = "R";
$ebcd_ascii["E0"] = "\\";
$ebcd_ascii["E2"] = "S";
$ebcd_ascii["E3"] = "T";
$ebcd_ascii["E4"] = "U";
$ebcd_ascii["E5"] = "V";
$ebcd_ascii["E6"] = "W";
$ebcd_ascii["E7"] = "X";
$ebcd_ascii["E8"] = "Y";
$ebcd_ascii["E9"] = "Z";
$ebcd_ascii["F0"] = "0";
$ebcd_ascii["F1"] = "1";
$ebcd_ascii["F2"] = "2";
$ebcd_ascii["F3"] = "3";
$ebcd_ascii["F4"] = "4";
$ebcd_ascii["F5"] = "5";
$ebcd_ascii["F6"] = "6";
$ebcd_ascii["F7"] = "7";
$ebcd_ascii["F8"] = "8";
$ebcd_ascii["F9"] = "9";
$ebcd_ascii["FF"] = "E0";
    //end of conversion

    // loop until there is no more conversion.
    $asciiOut = "";    
    while(strlen($ebcdic_hexstring)>1)//F0F1F2F3F -> F1F2F3F
    {
        $thisEbcdic = substr($ebcdic_hexstring, 0, 2);//F0->F1
        //if(!is_null($ebcd_ascii[$thisEbcdic]))
        $asciiOut = $asciiOut.$ebcd_ascii[$thisEbcdic];//0->01
        $ebcdic_hexstring = substr($ebcdic_hexstring, 2);//F1F2F3F -> F2F3F
    }    

    return $asciiOut;

}

?>
函数ebcdic_to_ascii($ebcdic_hexstring/*应为F0F1….*/)
{
//需要小心以避免警告
$ebcd_ascii=null;
//所有的转换都来了
$ebcd_ascii[“4A”]=“×”;
$ebcd_ascii[“4B”]=”;
$ebcd_ascii[“4C”]=“”;
$ebcd_ascii[“6F”]=“?”;
$ebcd_ascii[“79”]=“`”;
$ebcd_ascii[“7A”]=“:”;
$ebcd_ascii[“7B”]=“#”;
$ebcd_ascii[“7C”]=“@”;
$ebcd_ascii[“7D”]=“'”;
$ebcd_ascii[“7E”]=“=”;
$ebcd_ascii[“7F”]=“'”;
$ebcd_ascii[“81”]=“a”;
$ebcd_ascii[“82”]=“b”;
$ebcd_ascii[“83”]=“c”;
$ebcd_ascii[“84”]=“d”;
$ebcd_ascii[“85”]=“e”;
$ebcd_ascii[“86”]=“f”;
$ebcd_ascii[“87”]=“g”;
$ebcd_ascii[“88”]=“h”;
$ebcd_ascii[“89”]=“i”;
$ebcd_ascii[“91”]=“j”;
$ebcd_ascii[“92”]=“k”;
$ebcd_ascii[“93”]=“l”;
$ebcd_ascii[“94”]=“m”;
$ebcd_ascii[“95”]=“n”;
$ebcd_ascii[“96”]=“o”;
$ebcd_ascii[“97”]=“p”;
$ebcd_ascii[“98”]=“q”;
$ebcd_ascii[“99”]=“r”;
$ebcd_ascii[“A1”]=“~”;
$ebcd_ascii[“A2”]=“s”;
$ebcd_ascii[“A3”]=“t”;
$ebcd_ascii[“A4”]=“u”;
$ebcd_ascii[“A5”]=“v”;
$ebcd_ascii[“A6”]=“w”;
$ebcd_ascii[“A7”]=“x”;
$ebcd_ascii[“A8”]=“y”;
$ebcd_ascii[“A9”]=“z”;
$ebcd_ascii[“C0”]=“{”;
$ebcd_ascii[“C1”]=“A”;
$ebcd_ascii[“C2”]=“B”;
$ebcd_ascii[“C3”]=“C”;
$ebcd_ascii[“C4”]=“D”;
$ebcd_ascii[“C5”]=“E”;
$ebcd_ascii[“C6”]=“F”;
$ebcd_ascii[“C7”]=“G”;
$ebcd_ascii[“C7”]=“H”;
$ebcd_ascii[“C9”]=“I”;
$ebcd_ascii[“D0”]=“}”;
$ebcd_ascii[“D1”]=“J”;
$ebcd_ascii[“D2”]=“K”;
$ebcd_ascii[“D3”]=“L”;
$ebcd_ascii[“D4”]=“M”;
$ebcd_ascii[“D5”]=“N”;
$ebcd_ascii[“D6”]=“O”;
$ebcd_ascii[“D7”]=“P”;
$ebcd_ascii[“D8”]=“Q”;
$ebcd_ascii[“D9”]=“R”;
$ebcd_ascii[“E0”]=“\\”;
$ebcd_ascii[“E2”]=“S”;
$ebcd_ascii[“E3”]=“T”;
$ebcd_ascii[“E4”]=“U”;
$ebcd_ascii[“E5”]=“V”;
$ebcd_ascii[“E6”]=“W”;
$ebcd_ascii[“E7”]=“X”;
$ebcd_ascii[“E8”]=“Y”;
$ebcd_ascii[“E9”]=“Z”;
$ebcd_ascii[“F0”]=“0”;
$ebcd_ascii[“F1”]=“1”;
$ebcd_ascii[“F2”]=“2”;
$ebcd_ascii[“F3”]=“3”;
$ebcd_ascii[“F4”]=“4”;
$ebcd_ascii[“F5”]=“5”;
$ebcd_ascii[“F6”]=“6”;
$ebcd_ascii[“F7”]=“7”;
$ebcd_ascii[“F8”]=“8”;
$ebcd_ascii[“F9”]=“9”;
$ebcd_ascii[“FF”]=“E0”;
//转换结束
//循环,直到没有更多的转换。
$asciiOut=“”;
而(strlen($ebcdic_hexstring)>1)//f0f1f3f->f1f3f
{
$thisEbcdic=substr($ebcdic_hextstring,0,2);//F0->F1
//如果(!为null($ebcd\U ascii[$thisEbcdic]))
$asciiOut=$asciiOut.$ebcd_ascii[$thisEbcdic];//0->01
$ebcdic_hextstring=substr($ebcdic_hextstring,2);//F1F2F3F->F2F3F
}    
返回$asciiOut;
}
?>

如果使用从EBCDIC到ASCII的内置函数

   function ebcdic_to_ascii($ebcdic_hexstring /*expecting something like F0F1....*/)
    {
        //need to delcare it to avoid warning
$ebcd_ascii= null;
  // here come all the conversion
$ebcd_ascii["4A"] = "¢";
$ebcd_ascii["4B"] = ".";
$ebcd_ascii["4C"] = "<";
$ebcd_ascii["4D"] = "(";
$ebcd_ascii["4E"] = "+";
$ebcd_ascii["4F"] = "|";
$ebcd_ascii["5A"] = "!";
$ebcd_ascii["5B"] = "$";
$ebcd_ascii["5C"] = "*";
$ebcd_ascii["5D"] = ")";
$ebcd_ascii["5E"] = ";";
$ebcd_ascii["5F"] = "¬";
$ebcd_ascii["60"] = "-";
$ebcd_ascii["61"] = "/";
$ebcd_ascii["6A"] = "¦";
$ebcd_ascii["6B"] = ",";
$ebcd_ascii["6C"] = "%";
$ebcd_ascii["6D"] = "_";
$ebcd_ascii["6E"] = ">";
$ebcd_ascii["6F"] = "?";
$ebcd_ascii["79"] = "`";
$ebcd_ascii["7A"] = ":";
$ebcd_ascii["7B"] = "#";
$ebcd_ascii["7C"] = "@";
$ebcd_ascii["7D"] = "'";
$ebcd_ascii["7E"] = "=";
$ebcd_ascii["7F"] = " '' ";
$ebcd_ascii["81"] = "a";
$ebcd_ascii["82"] = "b";
$ebcd_ascii["83"] = "c";
$ebcd_ascii["84"] = "d";
$ebcd_ascii["85"] = "e";
$ebcd_ascii["86"] = "f";
$ebcd_ascii["87"] = "g";
$ebcd_ascii["88"] = "h";
$ebcd_ascii["89"] = "i";
$ebcd_ascii["91"] = "j";
$ebcd_ascii["92"] = "k";
$ebcd_ascii["93"] = "l";
$ebcd_ascii["94"] = "m";
$ebcd_ascii["95"] = "n";
$ebcd_ascii["96"] = "o";
$ebcd_ascii["97"] = "p";
$ebcd_ascii["98"] = "q";
$ebcd_ascii["99"] = "r";
$ebcd_ascii["A1"] = "~";
$ebcd_ascii["A2"] = "s";
$ebcd_ascii["A3"] = "t";
$ebcd_ascii["A4"] = "u";
$ebcd_ascii["A5"] = "v";
$ebcd_ascii["A6"] = "w";
$ebcd_ascii["A7"] = "x";
$ebcd_ascii["A8"] = "y";
$ebcd_ascii["A9"] = "z";
$ebcd_ascii["C0"] = "{";
$ebcd_ascii["C1"] = "A";
$ebcd_ascii["C2"] = "B";
$ebcd_ascii["C3"] = "C";
$ebcd_ascii["C4"] = "D";
$ebcd_ascii["C5"] = "E";
$ebcd_ascii["C6"] = "F";
$ebcd_ascii["C7"] = "G";
$ebcd_ascii["C7"] = "H";
$ebcd_ascii["C9"] = "I";
$ebcd_ascii["D0"] = "}";
$ebcd_ascii["D1"] = "J";
$ebcd_ascii["D2"] = "K";
$ebcd_ascii["D3"] = "L";
$ebcd_ascii["D4"] = "M";
$ebcd_ascii["D5"] = "N";
$ebcd_ascii["D6"] = "O";
$ebcd_ascii["D7"] = "P";
$ebcd_ascii["D8"] = "Q";
$ebcd_ascii["D9"] = "R";
$ebcd_ascii["E0"] = "\\";
$ebcd_ascii["E2"] = "S";
$ebcd_ascii["E3"] = "T";
$ebcd_ascii["E4"] = "U";
$ebcd_ascii["E5"] = "V";
$ebcd_ascii["E6"] = "W";
$ebcd_ascii["E7"] = "X";
$ebcd_ascii["E8"] = "Y";
$ebcd_ascii["E9"] = "Z";
$ebcd_ascii["F0"] = "0";
$ebcd_ascii["F1"] = "1";
$ebcd_ascii["F2"] = "2";
$ebcd_ascii["F3"] = "3";
$ebcd_ascii["F4"] = "4";
$ebcd_ascii["F5"] = "5";
$ebcd_ascii["F6"] = "6";
$ebcd_ascii["F7"] = "7";
$ebcd_ascii["F8"] = "8";
$ebcd_ascii["F9"] = "9";
$ebcd_ascii["FF"] = "E0";
    //end of conversion

    // loop until there is no more conversion.
    $asciiOut = "";    
    while(strlen($ebcdic_hexstring)>1)//F0F1F2F3F -> F1F2F3F
    {
        $thisEbcdic = substr($ebcdic_hexstring, 0, 2);//F0->F1
        //if(!is_null($ebcd_ascii[$thisEbcdic]))
        $asciiOut = $asciiOut.$ebcd_ascii[$thisEbcdic];//0->01
        $ebcdic_hexstring = substr($ebcdic_hexstring, 2);//F1F2F3F -> F2F3F
    }    

    return $asciiOut;

}

?>
函数ebcdic_to_ascii($ebcdic_hexstring/*应为F0F1….*/)
{
//需要小心以避免警告
$ebcd_ascii=null;
//所有的转换都来了
$ebcd_ascii[“4A”]=“×”;
$ebcd_ascii[“4B”]=”;
$ebcd_ascii[“4C”]=“”;
$ebcd_ascii[“6F”]=“?”;
$ebcd_ascii[“79”]=“`”;
$ebcd_ascii[“7A”]=“:”;
$ebcd_ascii[“7B”]=“#”;
$ebcd_ascii[“7C”]=“@”;
$ebcd_ascii[“7D”]=“'”;
$ebcd_ascii[“7E”]=“=”;
$ebcd_ascii[“7F”]=“'”;
$ebcd_ascii[“81”]=“a”;
$ebcd_ascii[“82”]=“b”;
$ebcd_ascii[“83”]=“c”;
$ebcd_ascii[“84”]=“d”;
$ebcd_ascii[“85”]=“e”;
$ebcd_ascii[“86”]=“f”;
$ebcd_ascii[“87”]=“g”;
$ebcd_ascii[“88”]=“h”;
$ebcd_ascii[“89”]=“i”;
$ebcd_ascii[“91”]=“j”;
$ebcd_ascii[“92”]=“k”;
$ebcd_ascii[“93”]=“l”;
$ebcd_ascii[“94”]=“m”;
$ebcd_ascii[“95”]=“n”;
$ebcd_ascii[“96”]=“o”;
$ebcd_ascii[“97”]=“p”;
$ebcd_ascii[“98”]=“q”;
$ebcd_ascii[“99”]=“r”;
$ebcd_ascii[“A1”]=“~”;
$ebcd_ascii[“A2”]=“s”;
$ebcd_ascii[“A3”]=“t”;
$ebcd_ascii[“A4”]=“u”;
$ebcd_ascii[“A5”]=“v”;
$ebcd_ascii[“A6”]=“w”;
$ebcd_ascii[“A7”]=“x”;
$ebcd_ascii[“A8”]=“y”;
$ebcd_ascii[“A9”]=“z”;
$ebcd_ascii[“C0”]=“{”;
$ebcd_ascii[“C1”]=“A”;
$ebcd_ascii[“C2”]=“B”;
$ebcd_ascii[“C3”]=“C”;
$ebcd_ascii[“C4”]=“D”;
$ebcd_ascii[“C5”]=“E”;
$ebcd_ascii[“C6”]=“F”;
$ebcd_ascii[“C7”]=“G”;
$ebcd_ascii[“C7”]=“H”;
$ebcd_ascii[“C9”]=“I”;
$ebcd_ascii[“D0”]=“}”;
$ebcd_ascii[“D1”]=“J”;
$ebcd_ascii[“D2”]=“K”;
$ebcd_ascii[“D3”]=“L”;
$ebcd_ascii[“D4”]=“M”;
$ebcd_ascii[“D5”]=“N”;
$ebcd_ascii[“D6”]=“O”;
$ebcd_ascii[“D7”]=“P”;
$ebcd_ascii[“D8”]=“Q”;
$ebcd_ascii[“D9”]=“R”;
$ebcd_ascii[“E0”]=“\\”;
$ebcd_ascii[“E2”]=“S”;
$ebcd_ascii[“E3”]=“T”;
$ebcd_ascii[“E4”]=“U”;
$ebcd_ascii[“E5”]=“V”;
$ebcd_ascii[“E6”]=“W”;
$ebcd_ascii[“E7”]=“X”;
$ebcd_ascii[“E8”]=“Y”;
$ebcd_ascii[“E9”]=“Z”;
$ebcd_ascii[“F0”]=“0”;
$ebcd_ascii[“F1”]=“1”;
$ebcd_ascii[“F2”]=“2”;
$ebcd_ascii[“F3”]=“3”;
$ebcd_ascii[“F4”]=“4”;
$ebcd_ascii[“F5”]=“5”;
$ebcd_ascii[“F6”]=“6”;
$ebcd_ascii[“F7”]=“7”;
$ebcd_ascii[“F8”]=“8”;
$ebcd_ascii[“F9”]=“9”;
$ebcd_ascii[“FF”]=“E0”;
//转换结束
//循环,直到没有更多的转换。
$asciiOut=“”;
而(strlen($ebcdic_hexstring)>1)//f0f1f3f->f1f3f
{
$thisEbcdic=substr($ebcdic_hextstring,0,2);//F0->F1
//如果(!为null($ebcd\U ascii[$thisEbcdic]))
$asciiOut=$asciiOut.$ebcd_ascii[$thisEbcdic];//0->01
$ebcdic_hextstring=substr($ebcdic_hextstring,2);//F1F2F3F->F2F3F
}    
返回$a