字符与字节的转换问题(100分)

  • 主题发起人 主题发起人 kk98
  • 开始时间 开始时间
K

kk98

Unregistered / Unconfirmed
GUEST, unregistred user!
以下是我写的一个Applet程序,参数date的值在读入的时候被Java自动转换成Unicode的
字符串,我想把字符串转换成单个的字节,可是用了String.getBytes也无法获取原始的
输入值,请教高手如何能把0xFE31形式的unicode字符转换成0xFE, 0x31形式的字节???

<html>
<body>
<applet code="test_applet" width=50 height=50>
<param name=date value="2003?4?7">
</applet>
</body>
</html>
注:其中date参数的十进制值为"50 48 48 51 254 48 52 254 49 55",在notepad中无法
显示部分值。

import java.applet.Applet;
import java.awt.*;
import java.nio.charset.*;
import java.nio.ByteBuffer;
public class test_applet extends Applet
{
private String s;
private byte ab[];

public void init()
{
super.init();
getParams();
}

private void getParams()
{
s = getParameter("date");
if(s != null)
{
byte ba1[] = s.getBytes();
;

System.out.println("GetByte");
for (int i=0, n=ba1.length;
i<n;
i++)
System.out.println(i + " := " + ba1);
Charset charset = Charset.forName("UTF-8");
ByteBuffer bf = charset.encode(s);
byte ba[] = bf.array();

System.out.println("UTF-8");
for (int i=0, n=ba.length;
i<n;
i++)
System.out.println(i + " := " + ba);
}
}
}
 
不懂,帮你顶一下
 
到CSDN上去问嘛,这儿都是Delphi的,呵呵,反正我是不太懂。
如果都是类似"0xFE31"格式的,可以自己写个函数转换,就是麻烦点。
 
试试
public String toISO8859(String s)
{
try
{
byte[] bb=s.getBytes("ISO8859-1");
return(new String(bb));
}
catch (Exception exp)
{
return null;
}

}
 
问题解决了。
在html中指定字符集
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;
charset=ISO8859-1">
</HEAD>
同时Java读入的参数要用ISO8859-1来encode。
private void getParams()
{
s = getParameter("fieldCount");
System.out.println("/ns := " + s);
if(s != null)
{
byte ba1[] = s.getBytes();
;

System.out.println("/nGetByte");
for (int i=0, n=ba1.length;
i<n;
i++)
System.out.println(i + " := " + ba1);
Charset charset = Charset.forName("ISO8859-1");
ByteBuffer bf = charset.encode(s);
byte ba[] = bf.array();

System.out.println("/nISO8859-1");
for (int i=0, n=ba.length;
i<n;
i++)
System.out.println(i + " := " + ba + " byte = " + (ba &amp;
0x00ff));

}
}
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
535
import
I
I
回复
0
查看
724
import
I
后退
顶部