Android Studio:错误:非法字符:'\u2028'

Posted

技术标签:

【中文标题】Android Studio:错误:非法字符:\'\\u2028\'【英文标题】:Android Studio:error: illegal character: '\u2028'Android Studio:错误:非法字符:'\u2028' 【发布时间】:2016-04-07 07:08:52 【问题描述】:

我正在尝试做一个 JSONObject 请求:

final String URL = "https://some/url";

// Post params to be sent to the server
HashMap<String, String> params = new HashMap<String, String>();
params.put("param1", param1);

params.put("param2", param2);

params.put("param3", param3);
    
params.put("param4", param4);


JsonObjectRequest req = new JsonObjectRequest(URL, new JSONObject(params), new Response.Listener<JSONObject>() 
    @Override
    public void onResponse(JSONObject response) 
        try 
            VolleyLog.v("Response:%n %s", "läuft");
         catch (JSONException e) 
            e.printStackTrace();
        
    
, new Response.ErrorListener() 
    @Override
    public void onErrorResponse(VolleyError error) 
        VolleyLog.e("Error: ", error.getMessage());
    
);

// add the request object to the queue to be executed
NetworkController.getInstance().addToRequestQueue(req);

我无法编译项目,因为我收到参数的语法错误:

错误:(144, 9) 错误:非法字符:'\u2028'

我该如何解决这个问题?

【问题讨论】:

删除那个字符? 我查过这个字符:u2028 表示行分隔符。我的参数中没有行分隔符 删除该位置的那个字符并再次输入。 首先,这是编译时错误还是运行时错误? 编译错误 【参考方案1】:

这是换行符,如果您转到导致错误的每一行并删除“不可见”的最后一个字符,那么错误将解决

转到导致错误的行尾并按一次退格键,对于每个有非法字符错误的行。

【讨论】:

这行得通。不过,我不得不在某些行上按退格键几次。 Crazy android Studio,java 行的末尾按 delete 可以正常工作,但对于某些行,您必须将光标移动到行首并再次移动到行尾,然后按 delete 到删除 /u2028 字符错误.. 被激怒了。但这是什么原因呢?【参考方案2】:

如果你是mac用户,那么你可以

在 TextWrangler 中复制和粘贴文本 视图 -> 文本显示 -> 显示不可见项

它会显示像“|”这样的符号。删除它,你就可以开始了。

【讨论】:

【参考方案3】:

好吧,只是删除所有字符并重新重写它们会有所帮助。太疯狂了。。

【讨论】:

【参考方案4】:

最好是使用 Android Studio 的替换功能,在 “替换为”中放一个空字符串

【讨论】:

确保你检查了正则表达式,这就像一个魅力!【参考方案5】:

将代码剪切并粘贴到文本编辑器中,以将其转换为简单文本。然后删除所有多余的空格。之后,使用 Android Studio 的 Reformat code 功能让它再次变得美好。

对我来说,只删除 Android Studio 中的空格是行不通的。

【讨论】:

【参考方案6】:

我遇到了完全相同的问题,但就我而言,错误的数量相当大(大约 95 个)。唯一明智的做法是用空字符替换这些字符。这个简短的 Python 脚本会执行此操作并打印出文件的新内容。使用文件的正确路径运行它。干杯。

with open(‘filename.java’, ‘r’) as file:
    data=(file.read().decode(“utf-8”)).replace(u’\u2028', ‘’).encode(“utf-8”)
    print data

【讨论】:

以上是关于Android Studio:错误:非法字符:'\u2028'的主要内容,如果未能解决你的问题,请参考以下文章

Android Studio运行出现项目 错误:非法字符:“ufeff”

android studio 非法字符: &#39;ufeff&#39; 解决方式

android studio 不接受的 .jar 文件的文件名中的非法字符

Visual Studio - 路径中的非法字符

使用 Ant 编译的 Android 项目无法编译,非法字符错误

非法选项:Files\Android"Android Studio\jre\bin\keytool 密钥和证书管理工具