当前位置: 技术问答>java相关
请问怎么取得String类型对象的编码方式?
来源: 互联网 发布时间:2017-03-27
本文导语: 比如 有一个函数叫getXXXXX, 他的入口参数是一个String对象, 返回的是描述这个String对象编码方式的字符串 (比如返回"Unicode"、"UTF-8"之类的字串) 有这样的函数吗? | 关注!如果谁给出正确方法,我在给分...
比如
有一个函数叫getXXXXX,
他的入口参数是一个String对象,
返回的是描述这个String对象编码方式的字符串
(比如返回"Unicode"、"UTF-8"之类的字串)
有这样的函数吗?
有一个函数叫getXXXXX,
他的入口参数是一个String对象,
返回的是描述这个String对象编码方式的字符串
(比如返回"Unicode"、"UTF-8"之类的字串)
有这样的函数吗?
|
关注!如果谁给出正确方法,我在给分。
|
看你存进 数据库 用什么 编码?
拿出来 用什么编码
不过 还有你的 数据库支持什么 编码?
最近我们也遇到了编码问题
环境是 linux+apache+tomcat+mysql
这些东西用的都是 iso-8859-1编码
所以存中文的时候,要把gb2312转成8859_1
去数据的时候 在转回来
很麻烦
拿出来 用什么编码
不过 还有你的 数据库支持什么 编码?
最近我们也遇到了编码问题
环境是 linux+apache+tomcat+mysql
这些东西用的都是 iso-8859-1编码
所以存中文的时候,要把gb2312转成8859_1
去数据的时候 在转回来
很麻烦
|
不理解Java才提出的一个问题,在java中,所有的字符串都是采用unicode格式的,唯有跟外部系统交流的时候才涉及到转换,例如与IE浏览器,与数据库等。在windows平台,一般汉字解码,使用GBK就可以了。
|
应该不可能,我是这样感觉,如果可能的话,也应该是分析其中的数据,比如Word和PDF文件的编码格式一定不同,不过应该先了解编码的细节才能得出具体如何编码的。
|
这个函数是没有实用价值的。
1。 在jvm中所有的字符都是unicode.
2. String的encode方式是由jvm属性file.encoding指定的。所有读进和写出的String都会被转换成file.encoding指定的编码方式。(inputstream和outputstream除外).所以在jvm中所有的String对象的编码方式都是file.encoding指定的编码方式。
举个小例子:
public class a{
main(String[]){
String s = "中文";
System.out.println("length:"+s.length());
}
}
javac -Dfile.encoding=GBK a.java
java -Dfile.encoding=GBK a.java
结果是 :2
javac -Dfile.encoding=ISO8859-1 a.java
java -Dfile.encoding=ISO8859-1 a.java
结果是 :4
由此可见,String对象的编码方式和file.encoding有关。搂主所说的api是不存在而且也没有必要存在的。
1。 在jvm中所有的字符都是unicode.
2. String的encode方式是由jvm属性file.encoding指定的。所有读进和写出的String都会被转换成file.encoding指定的编码方式。(inputstream和outputstream除外).所以在jvm中所有的String对象的编码方式都是file.encoding指定的编码方式。
举个小例子:
public class a{
main(String[]){
String s = "中文";
System.out.println("length:"+s.length());
}
}
javac -Dfile.encoding=GBK a.java
java -Dfile.encoding=GBK a.java
结果是 :2
javac -Dfile.encoding=ISO8859-1 a.java
java -Dfile.encoding=ISO8859-1 a.java
结果是 :4
由此可见,String对象的编码方式和file.encoding有关。搂主所说的api是不存在而且也没有必要存在的。
|
你只要用某种编码方式读出来就可以了,不用考虑他本身的编码方式,类似于加密,要想解密呢,你要知道算法,单给你一个加密的串你是不知道算法和密钥的
除非你自己设计一个MyString类,所有用到的string的地方都用你自己定义的,
在里面加一个编码方式的属性
除非你自己设计一个MyString类,所有用到的string的地方都用你自己定义的,
在里面加一个编码方式的属性
|
我查了一下api没有找到,而且,我想,从理论上来说这种函数是不存在的。
因为同一个string,不同的encode,显示时就会出现不同的值,但是在class文件里是用一样的unicode表示的。
所以一个string可能对应很多中encode,假如日文和中文都是通过用二个最高位为1的字节来表示一个字符,那么同一个string就可能是一个中文字符,也可能是一个日文字符,显示的时候就看你的系统环境了吧。
因为同一个string,不同的encode,显示时就会出现不同的值,但是在class文件里是用一样的unicode表示的。
所以一个string可能对应很多中encode,假如日文和中文都是通过用二个最高位为1的字节来表示一个字符,那么同一个string就可能是一个中文字符,也可能是一个日文字符,显示的时候就看你的系统环境了吧。