• <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.¢%

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

            突發(fā)的 XX Encoding

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

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

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

            后來想想,一個(gè)字符串的報(bào)文包含 字段名與字段值也沒問題啊, 但你不能使用分號(hào),因?yàn)槲蚁胗盟鼇碜鳛榉指舴炎侄蚊c字段值區(qū)分開來,由于 (已知條件5),我不想活了

            后來經(jīng)某位有經(jīng)驗(yàn)的人士的啟發(fā),參考了 URL編碼

            解決方法:就是使用 XX Encoding 了
            兩個(gè)轉(zhuǎn)義字符
            ??? \? ->? \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: 突發(fā)的 XX Encoding  回復(fù)  更多評(píng)論   

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

            # re: 突發(fā)的 XX Encoding  回復(fù)  更多評(píng)論   

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

            # re: 突發(fā)的 XX Encoding  回復(fù)  更多評(píng)論   

            2010-06-20 11:10 by S.l.e!ep.¢%
            XML會(huì)增加報(bào)文大小
            程序里要增加XML解析庫
            XML解析起來費(fèi)多一些時(shí)間

            由于以上三種原因,我沒用XML
            久久久久高潮综合影院| 久久精品草草草| 激情综合色综合久久综合| 精品久久久久久无码免费| 人妻精品久久无码区| 久久这里只有精品首页| 日产久久强奸免费的看| 看久久久久久a级毛片| 久久伊人五月丁香狠狠色| 久久91亚洲人成电影网站| 国产精品久久国产精品99盘 | 热久久最新网站获取| 亚洲色大成网站www久久九| 国产精品天天影视久久综合网| 久久精品国产亚洲AV无码娇色| 国产精品日韩深夜福利久久| 久久久久se色偷偷亚洲精品av| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 久久精品国产国产精品四凭 | 亚洲欧美日韩久久精品第一区| 亚洲国产精品热久久| 伊人色综合久久天天人手人婷| 伊人久久综合成人网| 性欧美丰满熟妇XXXX性久久久| 人妻少妇久久中文字幕一区二区| 久久久久免费看成人影片| 国产亚洲欧美成人久久片| 伊人久久综合热线大杳蕉下载| 久久精品国产精品亚洲艾草网美妙| 久久久中文字幕日本| 97久久精品人妻人人搡人人玩| 国产精品天天影视久久综合网| 久久久久婷婷| 国产毛片欧美毛片久久久| 国产精品久久久久9999| 成人a毛片久久免费播放| 久久夜色精品国产亚洲| 俺来也俺去啦久久综合网| 久久精品aⅴ无码中文字字幕重口| 精品一区二区久久| 亚洲国产精品综合久久网络 |