Django 字符串中的 Unicode 模式

0 投票
1 回答
918 浏览
提问于 2025-04-16 04:24

在Django中,当我通过ajax提交以下字符串时,我得到的字符串是unicode格式。怎么解码这个呢?

    $.post("/records/save_t/",snddata,
     function(data){
     if(data == 0 ){
     }
      },"json");

在Django里

def save_t(request):
    if request.method == 'GET':
        qd = request.GET
    elif request.method == 'POST':
        qd = request.POST
    map_str = qd.getlist('map_str')
    logging.debug(map_str)

输出是 [u'##1##@1//##2##@1//']。我怎么才能把它转换成普通字符串呢?用 str(map_str) 试过了,但没用。

还有,怎么才能提取出这个模式里的值呢?

 str = map_str.split("//")
 for s in map_str.split("//"):
     ...
     ...  

1 个回答

0

你觉得为什么需要把它转换成字符串呢?作为Unicode格式有什么问题吗?其实它本身就可以正常使用。

不管怎样,你现在得到的是一个列表,里面只有一个Unicode字符串(因为你用了getlist,它总是返回一个列表,这一点很正常)。你真正的问题是想从这个列表中提取出实际的数据吗?那么可以用map_str[0]来获取(当然,map_str这个名字不太好,因为它其实是一个列表,而不是字符串)。

或者,你可以不使用getlist,而是直接用get来获取一个字符串,而不是列表。

撰写回答