无法读取非ASCII内容

时间:2015-12-13 17:32:36

标签: python json python-2.7 non-ascii-characters

我想从网页上读取非ASCII JSON数据,在我的例子中是Perrsian。这是我在python-2.7中的代码:

public boolean canWin(String s) {

    if(s==null || s.length()<2) return false;
    char[] arr=s.toCharArray();
    return canWinHelper(arr);
}

public boolean canWinHelper(char[] arr){
    for(int i=0; i<arr.length-1; i++){
        if(arr[i]=='+' && arr[i+1]=='+'){
            arr[i]='-';
            arr[i+1]='-';
            boolean win=!canWinHelper(arr);
            arr[i]='+';
            arr[i+1]='+';
            if(win) return true;
        }
    }
    return false;
}

不幸的是,即使在 public boolean canWin(String s){ if(s==null || s.length()<2) return false; HashMap<String,Boolean> map=new HashMap<String,Boolean>(); return helper(s,map); } public boolean helper(String s, HashMap<String,Boolean> map){ if(map.containsKey(s)) return map.get(s); for(int i=0; i<s.length()-1; i++){ if(s.charAt(i)=='+' && s.charAt(i+1)=='+'){ String fliped=s.substring(0,i)+"--"+s.substring(i+2); if(!helper(fliped,map)){ map.put(s,true); return true; } } } map.put(s,false); return false; } jsonObject = json.loads(urllib2.urlopen("https://api.instagram.com/v1/users/"+userId+"/?access_token="+accessToken).read().decode('utf-8').encode('utf-8')); print jsonObject; 后我得到了这样的结果:

decoding

我需要做些什么才能正确获取角色?

1 个答案:

答案 0 :(得分:6)

这是正常的。容器内容使用ASCII友好的 Python语法表示

打印单个字符串值,您将看到实际值仍然存在:

>>> print jsonObject['data']['bio']
عکس دو نفرتون رو ارسال کنید