- 此问题在此处已有答案**:
Using Javascript's atob to decode base64 doesn't properly decode utf-8 strings(12个答案)
19小时前关门了。
我有一段代码可以解码JWT标记,拆分包含声明的字符串部分,并将该信息转换为JSON对象。
第一个月
它工作,但当涉及到用户名,因为它有一些土耳其字符,我得到了一个字符串与不可读的字符。用户名是"Uğur Gül"在下面的图片。
我想我应该以某种方式解析utf-8格式,但找不到如何做到这一点。我正在使用Angular 框架。我该如何解决这个问题?
Edit: Here is a decoded version of my mock-data token on jwt.io. I'm trying to get the payload from token like the way jwt.io creates an JSON object, and I'm assigning needed values to related fields to an instance of LoggedInUser class.
1条答案
按热度按时间w8f9ii691#
一种方法是在后端/前端使用
escape
和unescape
名称。我不知道你的应用程序是如何工作的。我们使用
escape
,Uğur Gül将被转换为U%u011Fur%20G%FCl。将其设置为GivenUserName
,创建令牌并将其发送到前端。前端对其进行解码,给出名称并调用unescape
。因此,您将再次获得正确的名称。重要
escape
和unescape
标记为已弃用。您可以改用encodeURI
和decodeURI
:Here是一个堆栈 lightning 战发挥。