android字符串转义
1. Android转义字符
在存储过程中,密码中有’(单引号),第一反应使用转义字符。敲上/(反斜杠),失败告终;
网络一下如下结果,sql
的转义字符是:'(单引号),所以在密码中写’’(两个单引号),表示一个单引号。c++
的转义字符是:\sql
的转义字符是:'(单引号)
2. android调用webservice传xml格式的字符串过去,服务端接收到的尖括号被转义了。要怎样传才不会被转义
加转义字符\,或者还有一个办法。比如回车键\n会被转移。你把\n replace一下,换成别的单词,在服务端收到这个单词的时候,在转换回来
3. 如何转义特殊字符 如在 sqlite 中android
select
* fromtablewhere number like '%/%%' escape '/'...
sqlite3数据库在搜索的时候,一些特殊的字符需要进行转义, 具体的转义如下:
/ -> //
' -> ''
[ -> /[
] -> /]
% -> /%
& -> /&
_ -> /_
( -> /(
) -> /)
需要注意的是,特殊字符并没有用反斜杠“\”表示转义符。
复制代码代码如下:
public static String sqliteEscape(String keyWord){
keyWord = keyWord.replace("/", "//");
keyWord = keyWord.replace("'", "''");
keyWord = keyWord.replace("[", "/[");
keyWord = keyWord.replace("]", "/]");
keyWord = keyWord.replace("%", "/%");
keyWord = keyWord.replace("&","/&");
keyWord = keyWord.replace("_", "/_");
keyWord = keyWord.replace("(", "/(");
keyWord = keyWord.replace(")", "/)");
return keyWord;
}
4. java-Android怎么把字符串转换成Integer/Float/Double 中的一种
java总字符串转换成其他基本数据类型的方式,可以使用基本数据类型的toString()方法,还有String类型转换成其他的基本数据类型,示例如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
Integer I1=new Integer(i1);//生成Integer类
Float F1=new Float(f1); //生成Float类
Double D1=new Double(d1); //生成Double类
//分别调用包装类的toString() 方法转换为字符串
String si1=I1.toString();
String sf1=F1.toString();
Stringsd1=D1.toString();
Sysytem.out.println("si1"+si1);
Sysytem.out.println("sf1"+sf1);Sysytem.out.println("sd1"+sd1);
String MyNumber ="1234";
int MyInt = Integer.parseInt(MyNumber);
字符串转换成byte, short, int, float, double, long 等数据类型,可以分别参考Byte, Short,Integer, Float, Double, Long 类的parseXXX 方法。
5. android 字符串传递时为什么转义字符丢失
传递的时候使用的编码可能和接收的编码不一致导致字符丢失了,最好双方使用共同的编码方式
6. android 字符串转byte数组
Android 字符串、byte数组与16进制数组间的转换
<spanstyle="font-family:SimSun;font-size:14px;">//字符串转换成16进制文字列的方法
publicStringtoHex(Stringstr){
StringhexString="0123456789ABCDEF";
byte[]bytes=str.getBytes();
StringBuilderhex=newStringBuilder(bytes.length*2);
for(inti=0;i<bytes.length;i++){
hex.append(hexString.charAt((bytes[i]&0xf0)>>4));//作用同n/16
hex.append(hexString.charAt((bytes[i]&0x0f)>>0));//作用同n
hex.append('');//中间用空格隔开
}
returnhex.toString();
}
//将16进制数组转换为字符串
publicstaticStringdecode(Stringbytes){
StringhexString="0123456789ABCDEF";
ByteArrayOutputStreambaos=newByteArrayOutputStream(bytes.length()/2);
//将每2位16进制整数组装成一个字节
//for(inti=0;i<bytes.length();i+=2)
//baos.write((hexString.indexOf(bytes.charAt(i))<<4|hexString.indexOf(bytes.charAt(i+1))));
//将每3位(第3位为空格)中的前2位16进制整数组装成一个字节
for(inti=0;i<bytes.length();i+=3){
baos.write((hexString.indexOf(bytes.charAt(i))<<4|hexString.indexOf(bytes.charAt(i+1))));
}
returnnewString(baos.toByteArray());
}</span>
详细
7. android怎么把引号变成转义字符
在存储过程中,密码中有’(单引号),第一反应使用转义字符。敲上/(反斜杠),失败告终; 网络一下如下结果,SQL 的转义字符是:'(单引号),所以在密码中写’’(两个单引号),表示一个单引号。C++ 的转义字符是:\SQL 的转义字符是:'(单引号)
8. Android Json串中添加转义符
一:解析普通json
1:不带转化字符
格式{"type":"ONLINE_SHIPS","message":{"currentTime":1400077615368,"direction":0,"id":1,"latitude":29.5506,"longitude":106.6466}}
JSONObject jsonObject = new JSONObject(jsonstr).getJSONObject("message");
System.out.println("currentTime:"+jsonObject.get("currentTime"));
System.out.println("direction:"+jsonObject.get("direction"));
System.out.println("latitude:"+jsonObject.get("latitude"));
System.out.println("longitude:"+jsonObject.get("longitude"));
jsonarray
JSONObject jo = ja.getJSONArray("cargoList").getJSONObject(0);
2:带转义字符的json格式
{"type":"ONLINE_SHIPS","message":"{\"currentTime\":1400077615368,\"direction\":0,\"id\":1,\"latitude\":29.5506,\"longitude\":106.6466}"}
其实也很简单,先把它转化成字符串就可以了
JSONObject jsonObject = new JSONObject(jsonstr);
//先通过字符串的方式得到,转义字符自然会被转化掉
String jsonstrtemp = jsonObject.getString("message");
System.out.println("message:"+jsonstrtemp);
jsonObject = new JSONObject(jsonstrtemp);
System.out.println("currentTime:"+jsonObject.get("currentTime"));
System.out.println("direction:"+jsonObject.get("direction"));
System.out.println("latitude:"+jsonObject.get("latitude"));
System.out.println("longitude:"+jsonObject.get("longitude"));
二:遍历Json对象
JSONObject ports = ja.getJSONObject("ports");
Iterator<String> keys = ports.keys();
while(keys.hasNext()){
String key=keys.next();
String value = ports.getString(key);
}
三:使用Gjson,json与对象相互转化
使用Gson轻松将java对象转化为json格式
String json = gson.toJson(Object);//得到json形式的字符串
User user = gson.fromJson(json,User.class);//得到对象
转化成list
import java.util.List;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.lc.function.Action;
import com.lc.models.Groups;
public class MapSearch {
private void ParseData(String _data)
{
Gson gson = new Gson();
List<Groups> ps = gson.fromJson(_data, new TypeToken<List<Groups>>(){}.getType());
System.out.println(ps.get(0).getGroup_name());
}
}