我们正在尝试使用unicode转义创建国家/地区标记列表(以避免在源代码中使用unicode)。我们使用字符来表示标志,以允许用户以明文内容复制/粘贴标记,并避免传输图像文件和死链接的带宽。
如果我记得,在Java中,你必须在处理特殊字符时使用特殊的unicode转义序列。所以我认为它在JS中是一样的。我查找了日本国旗的代码,发现了这个序列:1f1ef 1f1f5(如this document所示,它从一些其他字符集转换为unicode序列)。所以我认为编写字符串的方式是"\u1f1ef\u1f1f5"
,但返回"f5"
。我错过了什么?
答案 0 :(得分:1)
我知道这是一个老问题。但是,以下实现可能对将来的读者有用。解决方案在ECMAScript 2015中运行。
def get_queryset(self, request):
queryset = super(ArticleSetAdmin, self).get_queryset(request)
return queryset.select_related('attributes__masterdata_type')
答案 1 :(得分:0)
评论太小了也发布了这个:
<img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBSRXhpZgAASUkqAAgAAAABAGmHBAABAAAAGgAAAAAAAAABAIaSAgAdAAAALAAAAAAAAABMRUFEIFRlY2hub2xvZ2llcyBJbmMuIFYxLjAxAGf/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAUAB4DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD2uzsrZrOBzbxEmJScoPTrXHeI/HuiaDfNZR6cl3cRj95tVVVT6Z9fwrurMZ063/64r/Kvnjxjot7o/iK9+1xMI5pnlimx8rqxJ6+vPNc2KqThFOB7WR4PD4uu44h7LRXtc9j8K+I9F8UwSNb2scc8WN8EiLuUHvx1FaGuW8EVijRQxo3mAEqoBwQa84+E2iXw1abVniaK0ERiVmGPMJIPHqBjrXpniH/kHx/9dR/I1dCcp005bnNmuHpYfFSp0XeK/DyM2HXbqGFI1SIhFCgkHOB+NOfXriQYe3tmHuhP9aKK2POvYVfEF0owsNuB6BT/AI1XvdVnvoRFKkaqG3fKD7+/vRRQB//Z" />
答案 2 :(得分:0)
问题是因为有问题的字符必须表示为Unicode代理。您可以使用以下函数来获取正确的编码值:
function toUTF16(codePoint) {
var TEN_BITS = parseInt('1111111111', 2);
function u(codeUnit) {
return '\\u'+codeUnit.toString(16).toUpperCase();
}
if (codePoint <= 0xFFFF) {
return u(codePoint);
}
codePoint -= 0x10000;
// Shift right to get to most significant 10 bits
var leadSurrogate = 0xD800 + (codePoint >> 10);
// Mask to get least significant 10 bits
var tailSurrogate = 0xDC00 + (codePoint & TEN_BITS);
return u(leadSurrogate) + u(tailSurrogate);
}
样品:
> toUTF16(0x1f1ef)
"\uD83C\uDDEF" // this is ''
请参阅Unicode in JS的进一步参考。