社区
Java SE
帖子详情
有没有办法判断一个String当前的编码格式???
loveyousomuch
2005-04-28 06:26:56
如有一个String型变量,
能不能得到它目前的编码格式,然后在做相应的转换??
...全文
6248
28
打赏
收藏
有没有办法判断一个String当前的编码格式???
如有一个String型变量, 能不能得到它目前的编码格式,然后在做相应的转换??
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
28 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bigc2000
2005-05-09
打赏
举报
回复
任意给定的一个串,无法判断它的编码格式,但是可以得到系统的默认编码格式。
好比加密机制,输入端,输出端,输出端无法知道输入端进行了何种加密,除非约定好了,
一个失业的程序员
2005-05-08
打赏
举报
回复
从你问题看,你没有明白java的编码方式原理,java的JVM的缺省编码方式由系统的“本地语言环境”设置确定,和操作系统的类型无关
在JAVA源文件-->JAVAC-->Class-->Java-->getBytes()-->new String()-->显示的过程中,每一步都有编码的转换过程,这个过程总是存在的,只是有的时候用默认的参数进行
JAVAC是以系统默认编码读入源文件,然后按UNICODE进行编码的。在JAVA运行的时候,JAVA也是采用UNICODE编码的,并且默认输入和输出的都是操作系统的默认编码,也就是说在new String(bytes[,encode])中,系统认为输入的是编码为encode的字节流,换句话说,如果按encode来翻译bytes才能得到正确的结果,这个结果最后要在JAVA中保存,它还是要从这个encode转换成Unicode,也就是说有bytes-->encode字符-->Unicode字符的转换;而在String.getBytes([encode])中,系统要做一个Unicode字符-->encode字符-->bytes的转换。
以下是取得系统缺省编码方式
public encoding {
public static void main(String[] args) {
Properties initProp = new Properties(System.getProperties());
System.out.println("file.encoding:" + initProp1.getPropert("file.encoding"));
System.out.println("file.encoding:" + initProp1.getPropert("user.language"));
}
}
总之,java 编码都是Unicode 因此, 我们只要知道当前系统缺省的编码方式,然后Unicode编码转换成当前系统缺省的编码方式
MARS.nEIL
2005-05-08
打赏
举报
回复
学习.
ses127127
2005-05-08
打赏
举报
回复
学习
yorkchen
2005-05-08
打赏
举报
回复
GX
loveyousomuch
2005-05-08
打赏
举报
回复
看来现在还没有一个好的方法来解决这个问题!
要顶一下
mingyang47
2005-05-07
打赏
举报
回复
不知道,也要顶一下。
WinFastNcr
2005-05-07
打赏
举报
回复
顶
xiangqianchong
2005-05-07
打赏
举报
回复
学习
DrDragon
2005-05-07
打赏
举报
回复
学习ing!
miukoo
2005-05-07
打赏
举报
回复
这个方法能把你输入的汉字,或者字母变成数字显示出来,不知道是不是你想要的结果!!!
import javax.swing.*;
public class Love
{
public static void main(String[] args)
{
String s=JOptionPane.showInputDialog("请输入字符串:");
int d;
d=s.length();
char ch[]=new char[d];
int n[]=new int[d];
for(int i=0;i<d;i++)
{
ch[i]=s.charAt(i);
n[i]=ch[i]-'0';
}
for(int w=0;w<d;w++)
{
System.out.print(n[w]);
}
}
}
midthinker
2005-05-07
打赏
举报
回复
工程中是否有配置文件可以查询啊?
@.@||~
hainang1234
2005-05-07
打赏
举报
回复
怎么就没有人讨论了吗?
还没搞定呀!
阿土伯伯
2005-04-29
打赏
举报
回复
如果你不指定编码方式的话,String的编码方式是从操作系统的file.encoding这个环境变量中获取编码方式的。
大数据菜
2005-04-29
打赏
举报
回复
Thinking……
WinFastNcr
2005-04-29
打赏
举报
回复
顶
loveyousomuch
2005-04-29
打赏
举报
回复
现在的人怎么都不热心了,要回答也详细一点嘛!
littlecpu
2005-04-28
打赏
举报
回复
我觉得很奇怪啊,String 都是UNICODE的,你这是不知那一些出了问题,得到了一些垃圾内容.其实从byte流到char流,一般都有地方设置charset的.就算没有,你也可以用io里的InputStreamRead/Writer给iostream给加一个chartset.
例如jsp来说吧,就有request.setCharxxx方法的.
jihanzhong
2005-04-28
打赏
举报
回复
没什么意外下!比如你另外指定了编码格式
jihanzhong
2005-04-28
打赏
举报
回复
跟文件的编码是一样的!
加载更多回复(8)
C++ std::
string
的
编码格式
说明
首先,关于utf-8的编码说明:有1个字节,有两个字节的(大多数中文),也有三个字节的(少部分其他国家字符)。因此网络传输接收到的数据利用std::
string
类型来保存也是没问题的。 C++ std::
string
存储的是单字节字符,对于中文编码,编码的时候一般是将中文字变成2个字节的gb2312后存储到std::
string
里面。 比如:std::
string
s ...
java
判断
字符串
编码格式
java
判断
字符串
编码格式
public
String
getEncoding(
String
str) {
String
encode = "GB2312"; try { if (str.equals(new
String
(str.getBytes(encode), encode))) { //
判断
是不是GB2312
String
s = encode; return...
判断
String
字符串的常用字符编码集(UTF-8,gb2321,iso-8895-1,GBK)的工具类
/** *
判断
字符串的编码 * @param str * @return */ public static
String
getEncoding(
String
str){
String
encode = "GB2312"; try{ if(str.equals(new
String
(s...
Python
string
编码
文章目录一、前言什么是编码?什么是字符集1.字库表2.编码字符集(通常简称 `字符集`)3.字符编码
一个
范例二、影响Python执行的编码方案1.Python解释器的默认编码2.Python源文件文件编码3.操作系统的语言设置4.Terminal使用的编码三、最后使用范例Pycharm编码设置 一、前言 本文将通过列举Python编码中的编码问题来进行阐述!!! 使用过Python的同学们一定被她......
python 查看
当前
字符串的
编码格式
查看
当前
字符串的
编码格式
1. chardet模块举例2. Supported encoding for python 1. chardet模块 The easiest way to use the Universal Encoding Detector library is with the detect function. 使用通用编码检测器库的最简单方法是使用detect函数 The det...
Java SE
62,634
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章