<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-348  評論-598  文章-0  trackbacks-0
    開發的時候發現,C#寫入的字節順序是從低到高(左低到右高),而Java的DataInputStream讀取的數據是從高到低(左高到右低),所以當我們要用Java讀取C#生成的二進制文件的時候,需要將DataInputStream里面的幾個方法重寫或者寫一些輔助方法,例如下面兩個函數是用來讀取C#寫入的無符號Short型和無符號長整型數據。 
    /**
         * 逆轉字節數組
         * 
         * 
    @param b
         * 
    @return
         
    */
        
    private static byte[] reverse(byte[] b) {

            
    byte[] temp = new byte[b.length];
            
    for (int i = 0; i < b.length; i++) {
                temp[i] 
    = b[b.length - 1 - i];
            }
            
    return temp;
        }

        
    /**
         * 讀取無符號位的Short數,16位
         * 
         * 
    @param readBuffer
         * 
    @return
         * 
    @throws IOException
         
    */
        
    public static final BigInteger readUnsignedShort(byte[] readBuffer)
                
    throws IOException {
            
    if (readBuffer == null || readBuffer.length < 2)
                
    return new BigInteger("0");
            
    // 處理成無符號數
            byte[] uint64 = new byte[3];
            uint64[
    2= 0;
            System.arraycopy(readBuffer, 
    0, uint64, 02);
            
    return new BigInteger(reverse(uint64));
        }

        
    /**
         * 讀取無符號位的長整數,64位
         * 
         * 
    @param readBuffer
         * 
    @return
         * 
    @throws IOException
         
    */
        
    public static final BigInteger readUnsignedInt64(byte[] readBuffer)
                
    throws IOException {
            
    if (readBuffer == null || readBuffer.length < 8)
                
    return new BigInteger("0");
            
    // 處理成無符號數
            byte[] uint64 = new byte[9];
            uint64[
    8= 0;
            System.arraycopy(readBuffer, 
    0, uint64, 08);
            
    return new BigInteger(reverse(uint64));
        }


    ---------------------------------------------------------
    專注移動開發

    Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
    posted on 2010-05-02 22:25 TiGERTiAN 閱讀(3177) 評論(1)  編輯  收藏 所屬分類: JavaDotNet

    評論:
    # re: C#的BinaryWriter和Java的DataInputStream之間的數據相互轉換 2010-05-04 11:37 | 麗可酷
    DataInputStream之間的數據相互轉換   回復  更多評論
      
    主站蜘蛛池模板: 99爱免费观看视频在线| 女bbbbxxxx另类亚洲| 免费福利电影在线观看| 自拍偷自拍亚洲精品第1页| 色吊丝免费观看网站| 国产免费牲交视频| 无码天堂亚洲国产AV| 免费va人成视频网站全| 特级无码毛片免费视频| 亚洲第一成人影院| 久久毛片免费看一区二区三区| 亚洲精品麻豆av| 免费人成激情视频在线观看冫 | 中文字幕手机在线免费看电影 | 亚洲第一AV网站| 一区二区三区无码视频免费福利| 国产亚洲婷婷香蕉久久精品| 久久久久国产精品免费网站| 中文字幕亚洲综合久久2| 成年网站免费视频A在线双飞| 亚洲码和欧洲码一码二码三码| 四色在线精品免费观看| 男女污污污超污视频免费在线看| 亚洲综合精品网站在线观看| 免费一级毛片在线播放视频| 亚洲精品视频免费在线观看| 真实乱视频国产免费观看| 一区二区视频免费观看| 自拍偷区亚洲国内自拍| 精品成在人线AV无码免费看| 中文字幕 亚洲 有码 在线| 国产精品免费小视频| 两个人看的www免费视频中文| 91情国产l精品国产亚洲区| 韩国18福利视频免费观看| 和老外3p爽粗大免费视频| 亚洲日韩乱码中文无码蜜桃臀| 国产成人免费片在线视频观看| 西西人体免费视频| 亚洲中文字幕久久精品蜜桃| 亚洲一区二区女搞男|