将Java字符串转义为utf-8
我正在寻找用于将常规字符串转换为utf-8字符串的java工具 e、 g 输入:特殊-数据应用-文本 输出:特殊-%u6570%u636E%u5E94%u7528文本将Java字符串转义为utf-8,java,utf-8,escaping,Java,Utf 8,Escaping,我正在寻找用于将常规字符串转换为utf-8字符串的java工具 e、 g 输入:特殊-数据应用-文本 输出:特殊-%u6570%u636E%u5E94%u7528文本 (注意前面的“%u”)你能试试下面的方法吗 StringBuilder b = new StringBuilder(); for( char c : s.toCharArray() ){ if( ( 1024 <= c && c <= 1279 ) || ( 1280 <= c &
(注意前面的“%u”)你能试试下面的方法吗
StringBuilder b = new StringBuilder();
for( char c : s.toCharArray() ){
if( ( 1024 <= c && c <= 1279 ) || ( 1280 <= c && c <= 1327) || ( 11744 <= c && c <= 11775) || ( 42560 <= c && c <= 42655) ){
b.append( "\\u" ).append( Integer.toHexString(c) );
}else{
b.append( c );
}
}
return b.toString();
StringBuilder b=新的StringBuilder();
for(char c:s.toCharArray()){
如果((1024试试这个
String s= URLEncoder.encode(str, "UTF-8").replaceAll("%(..)%(..)", "%u$1$2");
两件事:
结果,您想要的字符串不是UTF-8,至少您作为示例放置的字符串是某种UTF-16编码的(java在内部使用UTF-16)
提供所需字符串的代码示例:
String str = "special-数据应用-text";
StringBuilder builder = new StringBuilder();
for(char ch: str.toCharArray()) {
if(ch >= 0x20 && ch <= 0x7E) {
builder.append(ch);
} else {
builder.append(String.format("%%u%04X", (int)ch));
}
}
String result = builder.toString();
String str=“特殊-数据应用-文本”;
StringBuilder=新的StringBuilder();
for(字符ch:str.toCharArray()){
如果(ch>=0x20&&ch让我推荐您取消Escape[]
在其他转义操作(HTML、XML等)中,它将允许您通过以下方式转义Java文本:
final String escaped = JavaEscape.escapeJava(text);
根据StackOverflow规则,免责声明:我是Escape的作者