含有中文字符串的截取問題!(轉)
問題:字符串:music<<美麗的草原我的家>>。該字符串的長度即str.length()為:17,而目前需要存入數據庫對應的字段長度為:16。所以必須對字符串進行截取。而前16個字節中,“原”字只有半個。這樣存入數據庫確對會出現“?”。所以必須判斷是否是半個漢字,即只能存入“music<<美麗的草”。
分析:
漢字是雙字節編碼,它為了能夠與英文字符分開,每個字節的最高位一定為1。如果是漢字,那么這個字節就是小于0的。這個函數就是通過這一原理實現的。所以要通過getBytes()轉化為byte型,再比較與零的大小。 getBytes()是把一個字符串轉成一個byte數組,因為計算機的數據都是基于字符的,也就是說一個字符串實際上就是一個字符流,因此可以轉為字符數組。
程序:




















posted on 2006-05-23 17:45 liaojiyong 閱讀(445) 評論(0) 編輯 收藏 所屬分類: Java