換行
2007-03-13 05:46:02 UTC
以往在 C/C++ 中,可以用 \0 當做一個字串的結束符號,或是計算字串的長度
想請教的是,在 Java 中的 String,有沒有類似 \0 的字元呢?
目前的問題大概如下:
byte [] str_arr = "ABCD".getBytes();
byte [] out_arr = new byte[10];
// 將 str_arr 複制到 out_arr 中
System.out.println(new String(out_arr).length());
^^^^^^^^^^^^^^^
這邊 String 的長度會變成 10
感覺起來一整個怪怪的...:(
會有這個需求,是因為我要把 String 寫到檔案中,而檔案中分配給 String 的空間
是固定的(ex:10),當我寫入後,再讀出來時,String 的長度會不正確,不知道該
怎麼解決才好,目前的想法是碰到 0 之後的 byte 全都不轉成 String,不知道這樣
會不會有問題呢?
先謝了...:)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.143.232.253
想請教的是,在 Java 中的 String,有沒有類似 \0 的字元呢?
目前的問題大概如下:
byte [] str_arr = "ABCD".getBytes();
byte [] out_arr = new byte[10];
// 將 str_arr 複制到 out_arr 中
System.out.println(new String(out_arr).length());
^^^^^^^^^^^^^^^
這邊 String 的長度會變成 10
感覺起來一整個怪怪的...:(
會有這個需求,是因為我要把 String 寫到檔案中,而檔案中分配給 String 的空間
是固定的(ex:10),當我寫入後,再讀出來時,String 的長度會不正確,不知道該
怎麼解決才好,目前的想法是碰到 0 之後的 byte 全都不轉成 String,不知道這樣
會不會有問題呢?
先謝了...:)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.143.232.253