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);
}
}
}
字符串,我想把字符串转换成单个的字节,可是用了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);
}
}
}