您的位置:首页 > 编程语言

随手记录一些常用的函数

2017-03-08 21:01 429 查看
昨天在做某企业的在线编程题的时候,虽然没做出来,但是其中用到了一些看似十分普通却不一定一下能想起来的方法函数,在此特地记录一下。

涉及到的功能嘛 注释里都有比较清楚的写。

有将一个字符串转换成UTF-8编码

16进制和2进制的相互转换

将一个字符串装进一个整型数组等等

下面挨个总结吧

1 将一个字符串bstr装进整型数组num[ ]

String bstr="your string";
int [] num=new int[bstr.length()];
String [] arr =new String[bstr.length()];
for(int i=0;i<arr.length;i++){
arr[i]=bstr.substring(i,(i+1));
num[i]=Integer.parseInt(arr[i]);
}


2 将数组num_1中的所有元素拼接成字符串s_2

int [] num_1=new int[bstr.length()];
String s_2 = "";
for(int i=0;i<num_1.length;i++){
s_2 = s_2 + num_1[i];//拼接成字符串,最终放在变量s中
}


3 得到一个字符的UTF-8编码

public static String getutf8FromString(String str) {
StringBuffer utfcode = new StringBuffer();
try {
for(byte bit : str.getBytes("utf-8")){
char hex = (char) (bit & 0xFF);
utfcode.append(Integer.toHexString(hex));
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return utfcode.toString();

}


4 将16进制数转换为2进制

public static String hexString2binaryString(String hexString)
{
if (hexString == null || hexString.length() % 2 != 0)
return null;
String bString = "", tmp;
for (int i = 0; i < hexString.length(); i++)
{
tmp = "0000"
+ Integer.toBinaryString(Integer.parseInt(hexString
.substring(i, i + 1), 16));
bString += tmp.substring(tmp.length() - 4);
}
return bString;
}


5 将2进制转换为16进制

public static String binaryString2hexString(String bString)
{
if (bString == null || bString.equals("") || bString.length() % 8 != 0)
return null;
StringBuffer tmp = new StringBuffer();
int iTmp = 0;
for (int i = 0; i < bString.length(); i += 4)
{
iTmp = 0;
for (int j = 0; j < 4; j++)
{
iTmp += Integer.parseInt(bString.substring(i + j, i + j + 1)) << (4 - j - 1);
}
tmp.append(Integer.toHexString(iTmp));
}
return tmp.toString();
}


6 将一个16进制的utf-8编码转换为字符串

public static String hexStringToString(String s) {
if (s == null || s.equals("")) {
return null;
}
s = s.replace(" ", "");
byte[] baKeyword = new byte[s.length() / 2];
for (int i = 0; i < baKeyword.length; i++) {
try {
baKeyword[i] = (byte) (0xff & Integer.parseInt(
s.substring(i * 2, i * 2 + 2), 16));
} catch (Exception e) {
e.printStackTrace();
}
}
try {
s = new String(baKeyword, "gbk");
new String();
} catch (Exception e1) {
e1.printStackTrace();
}
return s;
}


7 将一个字符串反转比如abcd–>dcba

public static String reverse7(String s) {
char[] str = s.toCharArray();
Stack<Character> stack = new Stack<Character>();
for (int i = 0; i < str.length; i++)
stack.push(str[i]);

String reversed = "";
for (int i = 0; i < str.length; i++)
reversed += stack.pop();

return reversed;
}


以上代码都是一些短小精悍 笔试常用到工具,特此记录。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  编程 函数