{"id":25,"date":"2014-03-22T17:07:36","date_gmt":"2014-03-22T09:07:36","guid":{"rendered":"http:\/\/blog.qiaogen.com\/?p=25"},"modified":"2014-03-22T17:07:36","modified_gmt":"2014-03-22T09:07:36","slug":"imap%e6%96%87%e4%bb%b6%e5%a4%b9%e5%90%8d%e7%a7%b0%e7%bc%96%e7%a0%81%e5%92%8c%e8%a7%a3%e7%a0%81%e6%96%b9%e6%b3%95","status":"publish","type":"post","link":"https:\/\/www.sangqiao.com\/blog\/archives\/25","title":{"rendered":"IMAP\u6587\u4ef6\u5939\u540d\u79f0\u7f16\u7801\u548c\u89e3\u7801\u65b9\u6cd5"},"content":{"rendered":"<p><code><br \/>\n\/\/ \u7f16\u7801<br \/>\nfunction IMAPEncode($sStr)<br \/>\n{<br \/>\n    $sOut = '';<br \/>\n    $sBase64 = '';<br \/>\n    $nIndex = 0;<br \/>\n    $sRegAsis = '\/^(?:[\\x20-\\x25\\x27-\\x7e])+\/';<br \/>\n    $sReg26 = '\/^&\/';<br \/>\n    $sRegEncode = '\/^(?:[^\\x20-\\x7e])+\/';<br \/>\n    $sRegEq = '\/=+$\/';<br \/>\n    $sRegSlash = '\/\\\/\/';<\/p>\n<p>    while ($nIndex < strlen($sStr))\n    {\n        $aTmp = array();\n        $nResult = preg_match($sRegAsis, $sStr, &#038;$aTmp, null, $nIndex);\n        if ($nResult)\n        {\n            $nIndex += strlen($aTmp[0]);\n            $sOut .= $aTmp[0];\n            continue;\n        }\n        $nResult = preg_match($sReg26, $sStr, &#038;$aTmp, null, $nIndex);\n        if ($nResult)\n        {\n            $nIndex += strlen($aTmp[0]);\n            $sOut .= '&#038;-';\n            continue;\n        }\n        $nResult = preg_match($sRegEncode, $sStr, &#038;$aTmp, null, $nIndex);\n        if ($nResult)\n        {\n            $nIndex += strlen($aTmp[0]);\n            $sBase64 = base64_encode(iconv('UTF-8', 'UTF-16BE', $aTmp[0]));\n            $sBase64 = preg_replace($sRegEq, '', $sBase64);\n            $sBase64 = preg_replace($sRegSlash, ',', $sBase64);\n            $sOut .= '&#038;' . $sBase64 . '-';\n            continue;\n        }\n    }\n    return $sOut;\n}\n\n\/\/ \u89e3\u7801\nfunction IMAPDeconde($sStr)\n{\n    $sOut = '';\n    $sBase64 = '';\n    $nIndex = 0;\n    $sRegAsis = '\/^([^&#038;]+)\/';\n    $sReg26 = '\/^\\&#038;-\/';\n    $sRegDecode = '\/^\\&#038;([A-Za-z0-9+,]+)-?\/';\n    $sRegComma = '\/,\/';\n\n    while ($nIndex < strlen($sStr))\n    {\n        $aTmp = array();\n        $nResult = preg_match($sRegAsis, $sStr, &#038;$aTmp, null, $nIndex);\n        if ($nResult)\n        {\n            $nIndex += strlen($aTmp[0]);\n            $sOut .= $aTmp[0];\n            continue;\n        }\n        $nResult = preg_match($sReg26, $sStr, &#038;$aTmp, null, $nIndex);\n        if ($nResult)\n        {\n            $nIndex += strlen($aTmp[0]);\n            $sOut .= '&#038;';\n            continue;\n        }\n        $nResult = preg_match($sRegDecode, $sStr, &#038;$aTmp, null, $nIndex);\n        if ($nResult)\n        {\n            $nIndex += strlen($aTmp[0]);\n            $sBase64 = substr($aTmp[0], 1, strlen($aTmp[0]) - 2);\n            $sBase64 = preg_replace($sRegComma, '\/', $sBase64);\n            $nMod = strlen($sBase64) % 4;\n            if ($nMod > 0) $sBase64 .= str_repeat('=', 4 - $nMod);<br \/>\n            $sBase64 = iconv('UTF-16BE', 'UTF-8', base64_decode($sBase64));<br \/>\n            $sOut .= $sBase64;<br \/>\n            continue;<br \/>\n        }<br \/>\n    }<br \/>\n    return $sOut;<br \/>\n}<br \/>\n<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\/\/ \u7f16\u7801 function IMAPEncode($sStr) { $sOut = &#8221;; $sBase64 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/www.sangqiao.com\/blog\/wp-json\/wp\/v2\/posts\/25"}],"collection":[{"href":"https:\/\/www.sangqiao.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sangqiao.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sangqiao.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sangqiao.com\/blog\/wp-json\/wp\/v2\/comments?post=25"}],"version-history":[{"count":1,"href":"https:\/\/www.sangqiao.com\/blog\/wp-json\/wp\/v2\/posts\/25\/revisions"}],"predecessor-version":[{"id":26,"href":"https:\/\/www.sangqiao.com\/blog\/wp-json\/wp\/v2\/posts\/25\/revisions\/26"}],"wp:attachment":[{"href":"https:\/\/www.sangqiao.com\/blog\/wp-json\/wp\/v2\/media?parent=25"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sangqiao.com\/blog\/wp-json\/wp\/v2\/categories?post=25"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sangqiao.com\/blog\/wp-json\/wp\/v2\/tags?post=25"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}