• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            S.l.e!ep.¢%

            像打了激速一樣,以四倍的速度運轉,開心的工作
            簡單、開放、平等的公司文化;尊重個性、自由與個人價值;
            posts - 1098, comments - 335, trackbacks - 0, articles - 1
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            突發的 XX Encoding

            Posted on 2010-06-19 10:34 S.l.e!ep.¢% 閱讀(1743) 評論(3)  編輯 收藏 引用 所屬分類: C++
            XX just a name ~

            已知條件: 1. 有個很煩的客戶
            ????????????????????? 2. 那個很煩的客戶說“你發送過來的報文,必須全是可見字符”
            ??????????????????????3. 那個很煩的客戶又說“你每次發送過來的報文,必須包含的信息有 字段名 與 字段值”
            ????????????????????? 4. 那個很煩的客戶還說“字段名 與 字段值 必須在一個報文同時發送過來,不要分成兩個報文”
            ????????????????????? 5. 那個很煩的客戶最后說“你不能限制我不使用某個可見字符,更不要試圖來說服我”

            本來報文想struct,? 二進制,搞兩個 int 成員,? 由于 (已知條件1)杯具了
            于是只能用字符串了,但由于 (已知條件3) 的緣故,我說“能不能把 字段名 和 字段值分開兩個報文,然后梅花間竹地發過去?”,由于 (已知條件4) 又杯具了

            后來想想,一個字符串的報文包含 字段名與字段值也沒問題啊, 但你不能使用分號,因為我想用它來作為分隔符,把字段名與字段值區分開來,由于 (已知條件5),我不想活了

            后來經某位有經驗的人士的啟發,參考了 URL編碼

            解決方法:就是使用 XX Encoding 了
            兩個轉義字符
            ??? \? ->? \b
            ???:??? -> \c

            具體代碼如下:
            std::string?MakeString(std::string?strField,?std::string?strValue)
            {
            ????replace_all(strField,?
            "\\",?"\\b");
            ????replace_all(strField,?
            ":",??"\\c");

            ????replace_all(strValue,?
            "\\",?"\\b");
            ????replace_all(strValue,?
            ":",??"\\c");

            ????
            return?strField?+?":"?+?strValue;
            }

            void?DivideString(std::string?strSrc,?std::string&?strField,?std::string&?strValue)
            {
            ????size_t?pos?
            =?strSrc.find(":",?0);

            ????strField?
            =?strSrc.substr(0,?pos);
            ????strValue?
            =?strSrc.substr(pos?+?strlen(":"),?strSrc.length()?-?pos?-?strlen(":")?);

            ????replace_all(strField,?
            "\\b",?"\\");
            ????replace_all(strField,?
            "\\c",??":");

            ????replace_all(strValue,?
            "\\b",?"\\");
            ????replace_all(strValue,?
            "\\c",??":");
            }

            好困,下午還要陪人逛街!!!!!!!!!睡覺去~

            Feedback

            # re: 突發的 XX Encoding  回復  更多評論   

            2010-06-19 12:36 by shbooom
            XML?

            # re: 突發的 XX Encoding  回復  更多評論   

            2010-06-19 23:16 by 陳梓瀚(vczh)
            XML!

            # re: 突發的 XX Encoding  回復  更多評論   

            2010-06-20 11:10 by S.l.e!ep.¢%
            XML會增加報文大小
            程序里要增加XML解析庫
            XML解析起來費多一些時間

            由于以上三種原因,我沒用XML
            九九热久久免费视频| 77777亚洲午夜久久多人| 久久美女人爽女人爽| 国产福利电影一区二区三区久久久久成人精品综合 | 国产成人无码精品久久久免费 | 中文字幕精品久久| 久久久一本精品99久久精品66 | 久久久久高潮毛片免费全部播放| 丁香狠狠色婷婷久久综合| 久久免费大片| 国内精品久久久久影院一蜜桃| 久久九九久精品国产| 久久久亚洲欧洲日产国码aⅴ| 久久国产香蕉视频| 久久ZYZ资源站无码中文动漫| 亚洲国产日韩欧美久久| 韩国无遮挡三级久久| 波多野结衣AV无码久久一区| 久久99国产一区二区三区| 国产精品久久自在自线观看| 久久精品无码一区二区WWW| 日本久久中文字幕| 久久亚洲精品中文字幕三区| 欧美喷潮久久久XXXXx| 久久天天躁狠狠躁夜夜躁2014| 亚洲国产二区三区久久| 久久亚洲中文字幕精品有坂深雪 | 新狼窝色AV性久久久久久| 久久久久久国产精品无码下载| 久久精品中文字幕久久| 久久精品麻豆日日躁夜夜躁| 人妻精品久久久久中文字幕一冢本| 亚洲精品无码久久不卡| 一级女性全黄久久生活片免费 | 久久精品国产亚洲一区二区三区| 国产精品久久久久久久久鸭| 国产精品女同久久久久电影院 | 一本综合久久国产二区| 婷婷久久综合九色综合绿巨人| 无码8090精品久久一区| 精品久久久久久国产|