java - 防止哈希表转换为 ASCII

标签 java android ascii hashtable

我正在开发的 Android 应用程序中运行哈希表。当我运行该 Activity 时,它会将“ht”的内容转换为 ASCII 字符。有谁知道防止这种情况发生的方法吗?

基本上,我需要对编码文本进行解码并将结果用于字符串。为了工作,字符串中使用的 URL 不能包含编码文本。

哈希表

 @SuppressWarnings("unchecked")
private void executeAsyncTask(){
 Hashtable<String,String> ht=new Hashtable<String,String>();
 GetDeptAyncTask async=new GetDeptAyncTask();
  ht.put("?TYPE=leagueSearch&JSON=1","&SEARCH=test");
  try {
    URLDecoder.decode(""+ht, "UTF-8");
} catch (UnsupportedEncodingException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
   @SuppressWarnings("rawtypes")
   Hashtable[] ht_array={ht};
    async.execute(ht_array);
}

尝试在字符串中使用它

protected String doInBackground(Hashtable<String,String>... params) {
  @SuppressWarnings("rawtypes")
  Hashtable ht=params[0];
  @SuppressWarnings("unchecked")
  String json=HelperHttp.getJSONResponseFromURL(BaseUrl+"2013/export", ht);

“json”字符串中“ht”的读取方式

?%3FTYPE%3DleagueSearch%26JSON%3D1=%26SEARCH%test

应该如何读取 URL

?TYPE=leagueSearch&JSON=1&SEARCH=test

“ht”的 LogCat

?:??: W/?(?): Hashtable {?TYPE=leagueSearch&JSON=1=&SEARCH=test}

“json”字符串的 LogCat

?:??: W/?(?): URL==>HIDDENURL/export?%3FTYPE%3DleagueSearch%26JSON%3D1=%26SEARCH%test

?:??: W/?(?): Json Response==><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">....

?:??: W/?(?):   at org.json.JSONObject.<init>(JSONObject.java:127)

?:??: W/?(?):   at myapp.app.MainActivity$GetDeptAyncTask.parseJsonString(MainActivity.java:80)

最佳答案

您可以使用java.net.URLDecoder 对编码后的文本进行解码

URLDecoder.decode("%3FTYPE%3DleagueSearch%26JSON%3D1=%26SEARCH%3Dtest", "UTF-8")

会产生

?TYPE=leagueSearch&JSON=1=&SEARCH=test

关于java - 防止哈希表转换为 ASCII,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16420817/

相关文章:

android + 共享首选项

C# 十六进制到 ascii

java - 以编程方式取消部署 war 文件 (Wildfly 18.x)

java - 在我的计算机上安装虚拟 LDAP 服务器 (Windows 2010)

android - https 安卓下载管理器

c++ - -1在ASCII中代表什么?

character-encoding - ASCII 码实际上是 7 位还是 8 位?

Java 控制台应用程序

java - 通过pom.xml执行时编译错误

java - 使用 Android USB Host API 读取我的 USB 游戏 Controller /或其他 USB 设备数据