Java中對list元素停止排序的辦法詳解。本站提示廣大學習愛好者:(Java中對list元素停止排序的辦法詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是Java中對list元素停止排序的辦法詳解正文
Ruby 正文
正文會對 Ruby 說明器隱蔽一行,或許一行的一部門,或許若干行。您可以外行首應用字符( # ):
# 我是正文,請疏忽我。
或許,正文可以隨著語句或表達式的統一行的前面:
name = "Madisetti" # 這也是正文
您可以正文多行,以下所示:
# 這是正文。
# 這也是正文。
# 這也是正文。
# 這照樣正文。
上面是另外一種情勢。這類塊正文會對說明器隱蔽 =begin/=end 之間的行:
=begin
這是正文。
這也是正文。
這也是正文。
這照樣正文。
=end
Ruby 中文編碼
用 Ruby 輸入 "Hello, World!",英文沒有成績,然則假如你輸入中文字符"你好,世界"就有能夠會碰著中文編碼成績。
Python 文件中假如未指定編碼,在履行進程會湧現報錯:
#!/usr/bin/ruby -w
puts "你好,世界!";
以上法式履行輸入成果為:
invalid multibyte char (US-ASCII)
以上失足信息顯示了 Ruby 應用用 ASCII 編碼來讀源碼,中文會湧現亂碼,處理辦法為只需在文件開首參加 # -*- coding: UTF-8 -*-(EMAC寫法) 或許 #coding=utf-8 就好了。
實例
#!/usr/bin/ruby -w
# -*- coding: UTF-8 -*-
puts "你好,世界!";
輸入成果為:
你好,世界!
所以假如年夜家再進修進程中,源代碼文件中,若包括中文編碼,則須要留意兩點:
1. 必需在首行添加 # -*- coding: UTF-8 -*-,告知說明器應用utf-8來解析源碼。
2. 必需設置編纂器保留文件的編碼為utf-8。
��字節數組轉換成16進制字符串
*
* @param bArray
* @return
*/
public static final String bytesToHexString(byte[] bArray) {
StringBuffer sb = new StringBuffer(bArray.length);
String sTemp;
for (int i = 0; i < bArray.length; i++) {
sTemp = Integer.toHexString(0xFF & bArray[i]);
if (sTemp.length() < 2)
sb.append(0);
sb.append(sTemp.toUpperCase());
}
return sb.toString();
}
/**
* @函數功效: BCD碼轉為10進制串(阿拉伯數據)
* @輸出參數: BCD碼
* @輸入成果: 10進制串
*/
public static String bcd2Str(byte[] bytes) {
StringBuffer temp = new StringBuffer(bytes.length * 2);
for (int i = 0; i < bytes.length; i++) {
temp.append((byte) ((bytes[i] & 0xf0) >>> 4));
temp.append((byte) (bytes[i] & 0x0f));
}
return temp.toString().substring(0, 1).equalsIgnoreCase("0") ? temp.toString().substring(1) : temp.toString();
}
/**
* @函數功效: 10進制串轉為BCD碼
* @輸出參數: 10進制串
* @輸入成果: BCD碼
*/
public static byte[] str2Bcd(String asc) {
int len = asc.length();
int mod = len % 2;
if (mod != 0) {
asc = "0" + asc;
len = asc.length();
}
byte abt[] = new byte[len];
if (len >= 2) {
len = len / 2;
}
byte bbt[] = new byte[len];
abt = asc.getBytes();
int j, k;
for (int p = 0; p < asc.length() / 2; p++) {
if ((abt[2 * p] >= '0') && (abt[2 * p] <= '9')) {
j = abt[2 * p] - '0';
} else if ((abt[2 * p] >= 'a') && (abt[2 * p] <= 'z')) {
j = abt[2 * p] - 'a' + 0x0a;
} else {
j = abt[2 * p] - 'A' + 0x0a;
}
if ((abt[2 * p + 1] >= '0') && (abt[2 * p + 1] <= '9')) {
k = abt[2 * p + 1] - '0';
} else if ((abt[2 * p + 1] >= 'a') && (abt[2 * p + 1] <= 'z')) {
k = abt[2 * p + 1] - 'a' + 0x0a;
} else {
k = abt[2 * p + 1] - 'A' + 0x0a;
}
int a = (j << 4) + k;
byte b = (byte) a;
bbt[p] = b;
}
return bbt;
}
public static void main(String[] arg) {
/**
* 68 65 6C 6C 6 F 0A
* C4 E3 BA C3
*/
String[] str = {"C4", "E3", "BA", "C3"};
// String[] str = {"7E","02","04","00","07","10","00","00","00","00","13","08","4F","01","0B","0B","15","10","14","13","44","7E"};
byte[] b = new byte[str.length];
for(int i=0;i<str.length;i++){
b[i] = hexStringToByte(str[i])[0];
}
System.out.println(new String(b));
String strC ="你好";
String bth=bytesToHexString(strC.getBytes());
System.out.println(bth);
System.out.println(Short.MAX_VALUE);
System.out.println(Integer.toBinaryString(280));
}
}
以上所述是本文給年夜家分享的Android字符串和十六進制互相轉化湧現的中文亂碼成績的相干內容,願望對年夜家有所贊助。