编码问题,如何获得指定字符串的编码?

xiaomantoubaba 2005-03-27 07:09:09
如果我随便给一个字符出来,
比如说:String s = "sgferfg2413few4326*(%&";
那么怎么可以获得这个字符串的编码?
编码是未知的,因为这个字符串是从服务器上取得的。我们不知道服务器究竟以什么编码来保存文件的。
总之就是我不知道服务器的操作系统是WIN2000还是其他的什么。不知道服务器上的文件是用什么码保存的,但我可以从服务器上取文件内容。
我想知道文件内容的编码。
谢谢大家了。
...全文
317 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
SimonDW 2005-03-31
  • 打赏
  • 举报
回复
我觉得楼主想要知道的其实是服务器的默认编码类型。
因此用我的方法应该能得到。
OnlyFor_love 2005-03-31
  • 打赏
  • 举报
回复
darkwing() 的方法对于正常的字体来说可以获得!

不过正如一楼说的,要是那字符串本身就是乱码的话,我觉得是没有办法获得编码类型的!
OnlyFor_love 2005-03-31
  • 打赏
  • 举报
回复
顶一下!
delbrueck 2005-03-31
  • 打赏
  • 举报
回复
servlet应该可以做到
bigc2000 2005-03-31
  • 打赏
  • 举报
回复
写错了第二个不是'A'。反正只是示意,无关简要
bigc2000 2005-03-31
  • 打赏
  • 举报
回复
回复人: happyegg(放松放松) ( ) 信誉:100 2005-03-29 23:03:00 得分: 0


无法获得,因为字符本身不带编码信息

正确,无法获得,因为字符其实就是01的数据 ,没有任何标志它使用的编码方式
举个例子 内存中 双字节第一个是 234 第二个是 165(不考虑符号)
如果你把它当作它byte形 得到的是二个负整数
如果你把它当作UTF-8 得到的是 第一个是乱码,第二个是'A'
如果你把它当作GB2312 (用它编码) 得到的是一个简体中文字符,具体不知道是多少,没试过



asjj 2005-03-30
  • 打赏
  • 举报
回复
可以试一下jchardet:
http://jchardet.sourceforge.net/
SimonDW 2005-03-30
  • 打赏
  • 举报
回复
服务器的编码可以考虑使用System.getProperty("file.encoding")查询。
happyegg 2005-03-29
  • 打赏
  • 举报
回复
无法获得,因为字符本身不带编码信息
escalj 2005-03-28
  • 打赏
  • 举报
回复
是否可以先序列化,然后再取出来,转化成当地字符集
thomas_20 2005-03-28
  • 打赏
  • 举报
回复
无法主动获得指定字符串的编码,一楼说的也很有道理。
liutang2 2005-03-28
  • 打赏
  • 举报
回复
up下罗,关注中……
xiaomantoubaba 2005-03-28
  • 打赏
  • 举报
回复
?
无欲则钢 2005-03-27
  • 打赏
  • 举报
回复
既然已经是乱码了,系统就肯定不知道是什么字符集了,要是知道了不就显示正确了。
xiaomantoubaba 2005-03-27
  • 打赏
  • 举报
回复
没人指点吗?
kingfish 2005-03-27
  • 打赏
  • 举报
回复
sorry, 上面我说的有问题。

算是up帖子了。
kingfish 2005-03-27
  • 打赏
  • 举报
回复
要是取到的是"??????abc123";
======
你知道这里是由于编码问题引起还是就是6个问号?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧