12
--
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
--
>>
<<
--
RECOMMEND
RECOMMEND
スティーブ・ジョブズ I
スティーブ・ジョブズ I (JUGEMレビュー »)
ウォルター・アイザックソン
取材嫌いで有名なスティーブ・ジョブズが唯一全面協力した、本人公認の決定版評伝。
RECOMMEND
RECOMMEND
ザ・マインドマップ
ザ・マインドマップ (JUGEMレビュー »)
トニー・ブザン,バリー・ブザン
SPONSORED LINKS
RECENT COMMENT
RECENT TRACKBACK
MOBILE
qrcode
OTHERS
<< Java HashMap 初期化/Keyから値/値からKey | top | [Java] JTreeにノードを追加 >>
スポンサーサイト

一定期間更新がないため広告を表示しています

スポンサードリンク | - | | - | - | - | - |
[Java] 文字列の長さを測る。
Javaで文字列の長を測るを研究。

public class StringTest {
    public static void main(String[] args) {
        String str1 = "ABCDEFGHIJ1234567890";
        String str2 = "ABCDEFGHIJ1234567890";
        byte[] bstr1 = str1.getBytes();
        byte[] bstr2 = str2.getBytes();
        byte[] butf8str1 = null;
        byte[] butf8str2 = null;
        byte[] butf16str1 = null;
        byte[] butf16str2 = null;
        byte[] buastr1 = null;
        byte[] buastr2 = null;
        try {
            butf8str1 = str1.getBytes("UTF-8");
            butf8str2 = str2.getBytes("UTF-8");
            butf16str1 = str1.getBytes("UTF-16");
            butf16str2 = str2.getBytes("UTF-16");
            buastr1 = str1.getBytes("US-ASCII");
            buastr2 = str2.getBytes("US-ASCII");
        }
        catch(Exception excp) {
            
        }
        System.out.println("str1 = [" + str1 + "]");
        System.out.println("String.length             : " + str1.length());
        System.out.println("String.codePointCount     : " + str1.codePointCount(0, str1.length()));
        System.out.println("String.getBytes           : " + bstr1.length);
        System.out.println("String.getBytes(UTF-8)    : " + butf8str1.length);
        System.out.println("String.getBytes(UTF-16)   : " + butf16str1.length);
        System.out.println("String.getBytes(US-ASCII) : " + buastr1.length);
        System.out.println("make func getLengh        : " + getLength(str1));
        System.out.println();
        System.out.println("str1 = [" + str2 + "]");
        System.out.println("String.length             : " + str2.length());
        System.out.println("String.codePointCount     : " + str2.codePointCount(0, str2.length()));
        System.out.println("String.getBytes           : " + bstr2.length);
        System.out.println("String.getBytes(UTF-8)    : " + butf8str2.length);
        System.out.println("String.getBytes(UTF-16)   : " + butf16str2.length);
        System.out.println("String.getBytes(US-ASCII) : " + buastr2.length);
        System.out.println("make func getLengh        : " + getLength(str2));
    }
    
    public static int getLength(String str) {
        int length = 0;
        for(int i = 0; i < str.length(); i++) {
            char ch = str.charAt(i);
            if((ch >= 0x20) && (ch <= 0x7E)) {
                length++;
            }
            else if((ch >= 0xFF61) && (ch <= 0xFF9F)) {
                length++;
            }
            else {
                length += 2;
            }
        }
        return length;
    }
}

★結果★
str1 = [ABCDEFGHIJ1234567890]
String.length             : 20
String.codePointCount     : 20
String.getBytes           : 20
String.getBytes(UTF-8)    : 20
String.getBytes(UTF-16)   : 42
String.getBytes(US-ASCII) : 20
make func getLengh        : 20

str1 = [ABCDEFGHIJ1234567890]
String.length             : 20
String.codePointCount     : 20
String.getBytes           : 60
String.getBytes(UTF-8)    : 60
String.getBytes(UTF-16)   : 42
String.getBytes(US-ASCII) : 20
make func getLengh        : 40



shi-n | 学び | 11:29 | comments(0) | trackbacks(0) | - | - |
スポンサーサイト
スポンサードリンク | - | 11:29 | - | - | - | - |
Comment









Trackback
URL: