在java中如何将字符型数组转换到字符串中

Python08

在java中如何将字符型数组转换到字符串中,第1张

字符型数组转换字符串有两种方法。

第一种方法,通过字符串的构造方法进行转换。

char[]a={'a','b','c'}

Stringb=newString()

第二种方法,通过字符串的valueOf()方法转换。

char[]a={'a','b','c'}

Stringb=String.valueOf(a)

代码如下:

import java.util.Arrays

import java.util.Scanner

public class App {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in)

// 1.键盘录入一个字符串

String str = scanner.nextLine()

char[] chars = new char[str.length()]

// 2.将该字符串变成字符数组(不能使用toCharArray()方法)

for (int i = 0 i < str.length() i++) {

char ch = str.charAt(i)

// 5.将字符数组中索引为偶数的元素变成'~'

ch = (i % 2 == 0) ? '~' : ch

// 3.将字符数组中的所有大写字母变成小写字母(不能使用toLowerCase()方法)

ch = (ch >= 'A' && ch <= 'Z') ? (char)(ch - 32) : ch

chars[i] = ch

}

// 4.如果第一位和最后一位的内容不相同,则交换

if (chars[0] != chars[chars.length - 1]) {

char ch = chars[0]

chars[0] = chars[chars.length - 1]

chars[chars.length - 1] = ch

}

// 6.打印数组元素的内容

System.out.println(Arrays.toString(chars))

}

}

java不同编码之间进行转换,都需要使用unicode作为中转。

String str = "任意字符串"

str = new String(str.getBytes("gbk"),"utf-8")

备注说明:

str.getBytes("UTF-8")意思是以UTF-8的编码取得字节

new String(XXX,"UTF-8")意思是以UTF-8的编码生成字符串

举例:

public static String getUTF8XMLString(String xml) {

// A StringBuffer Object

StringBuffer sb = new StringBuffer()

sb.append(xml)

String xmString = ""

String xmlUTF8=""

try {

xmString = new String(sb.toString().getBytes("UTF-8"))

xmlUTF8 = URLEncoder.encode(xmString, "UTF-8")

System.out.println("utf-8 编码:" + xmlUTF8)

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace()

}

// return to String Formed

return xmlUTF8

扩展资料:

UTF-8编码规则:

如果只有一个字节则其最高二进制位为0;如果是多字节,其第一个字节从最高位开始,连续的二进制位值为1的个数决定了其编码的字节数,其余各字节均以10开头。

实际表示ASCII字符的UNICODE字符,将会编码成1个字节,并且UTF-8表示与ASCII字符表示是一样的。所有其他的UNICODE字符转化成UTF-8将需要至少2个字节。每个字节由一个换码序列开始。第一个字节由唯一的换码序列,由n位连续的1加一位0组成,首字节连续的1的个数表示字符编码所需的字节数。

Unicode转换为UTF-8时,可以将Unicode二进制从低位往高位取出二进制数字,每次取6位,如上述的二进制就可以分别取出为如下示例所示的格式,前面按格式填补,不足8位用0填补。

参考资料来源:百度百科:UTF-8