Blackberry 如何转义要在URL中使用的Unicode单词

Blackberry 如何转义要在URL中使用的Unicode单词,blackberry,java-me,Blackberry,Java Me,我想转义要在URL中使用的Unicode单词以生成HTTPRequest,例如,我想将“محود”转换为“%D9%85%D8%AD%D9%85%D9%88%D8%AF”,我注意到每个字符都转换为两个十六进制 非常感谢转换为UTF-8,然后url编码字符不在[[:alnum:]中 \Url编码是将字符转换为%形式的编码,其中高位字节=(ch>>4)&0x0F和低位字节=(ch&0x0F) 查看RFC 1738(S)2.2了解更多详细信息 因为它看起来像是在使用java,所以您必须使用byte[]而

我想转义要在URL中使用的Unicode单词以生成HTTPRequest,例如,我想将“محود”转换为“%D9%85%D8%AD%D9%85%D9%88%D8%AF”,我注意到每个字符都转换为两个十六进制
非常感谢

转换为UTF-8,然后url编码字符不在
[[:alnum:]

\Url编码是将字符转换为
%
形式的编码,其中
高位字节=(ch>>4)&0x0F
低位字节=(ch&0x0F)

查看RFC 1738(S)2.2了解更多详细信息


因为它看起来像是在使用java,所以您必须使用
byte[]
而不是
String
char[]

但是如何将高半字节和低半字节转换为-例如-%D9%85,您能给我一个样本吗?我知道答案,添加这个类并使用这个方法myurlcoder.encode(str,“utf-8”)@UTF8字符串数组中的JustMe Foreach
char ch
“%”+Integer.toHexString(Character.getNumericValue(ch))
@moshbear一旦得到一个数值大于255的字符,它将不起作用。因为这个例子是阿拉伯语,所以这将是字符串中的每个字符。@MichaelDonohue您没有阅读我所说的应用十六进制编码的字符串是UTF-8的部分。