Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是什么导致此ASCII字符成为问号?_Java_Encoding_Minecraft - Fatal编程技术网

Java 是什么导致此ASCII字符成为问号?

Java 是什么导致此ASCII字符成为问号?,java,encoding,minecraft,Java,Encoding,Minecraft,我有一段Java代码,其中config.yaml应该使用自定义头生成,该头包含各种ASCII字符,例如ASCII-219。 当我编译插件并查看config.yml时,字符被问号替换。我已经研究了IntelliJ IDEA文件编码,它被设置为UTF8 我已经尝试将UTF-8与BOM一起使用 FileConfiguration config = main.plugin.getConfig(); getConfig().options().header(

我有一段Java代码,其中config.yaml应该使用自定义头生成,该头包含各种ASCII字符,例如ASCII-219。 当我编译插件并查看config.yml时,字符被问号替换。我已经研究了IntelliJ IDEA文件编码,它被设置为UTF8

我已经尝试将UTF-8与BOM一起使用

        FileConfiguration config = main.plugin.getConfig();

        getConfig().options().header(
                        "  █████▒▄▄▄       ██▓     ██▓    ▓█████ ███▄    █   ██████  █    ██  ██▀███   ██▒   █▓ ██▓ ██▒   █▓ ▒█████   ██▀███                          " + "\n" +
                        " ▓██   ▒▒████▄    ▓██▒    ▓██▒    ▓█   ▀ ██ ▀█   █ ▒██    ▒  ██  ▓██▒▓██ ▒ ██▒▓██░   █▒▓██▒▓██░   █▒▒██▒  ██▒▓██ ▒ ██▒               " + "\n" +
                        " ▒████ ░▒██  ▀█▄  ▒██░    ▒██░    ▒███  ▓██  ▀█ ██▒░ ▓██▄   ▓██  ▒██░▓██ ░▄█ ▒ ▓██  █▒░▒██▒ ▓██  █▒░▒██░  ██▒▓██ ░▄█ ▒          " + "\n" +
                        " ░▓█▒  ░░██▄▄▄▄██ ▒██░    ▒██░    ▒▓█  ▄▓██▒  ▐▌██▒  ▒   ██▒▓▓█  ░██░▒██▀▀█▄    ▒██ █░░░██░  ▒██ █░░▒██   ██░▒██▀▀█▄            " + "\n" +
                        " ░▒█░    ▓█   ▓██▒░██████▒░██████▒░▒████▒██░   ▓██░▒██████▒▒▒▒█████▓ ░██▓ ▒██▒   ▒▀█░  ░██░   ▒▀█░  ░ ████▓▒░░██▓ ▒██▒  " + "\n" +
                        "▒ ░    ▒▒   ▓▒█░░ ▒░▓  ░░ ▒░▓  ░░░ ▒░ ░ ▒░   ▒ ▒ ▒ ▒▓▒ ▒ ░░▒▓▒ ▒ ▒ ░ ▒▓ ░▒▓░   ░ ▐░  ░▓     ░ ▐░  ░ ▒░▒░▒░ ░ ▒▓ ░▒▓░               " + "\n" +
                        "░       ▒   ▒▒ ░░ ░ ▒  ░░ ░ ▒  ░ ░ ░  ░ ░░   ░ ▒░░ ░▒  ░ ░░░▒░ ░ ░   ░▒ ░ ▒░   ░ ░░   ▒ ░   ░ ░░    ░ ▒ ▒░   ░▒ ░ ▒░                        " + "\n" +
                        "░ ░     ░   ▒     ░ ░     ░ ░      ░     ░   ░ ░ ░  ░  ░   ░░░ ░ ░   ░░   ░      ░░   ▒ ░     ░░  ░ ░ ░ ▒    ░░   ░                                      " + "\n" +
                        "░  ░    ░  ░    ░  ░   ░  ░        ░       ░     ░        ░           ░   ░        ░      ░ ░     ░                                                                   " + "\n" +
                        "░            ░                                                                                                                                                                    " + "\n" +
                        "Plugin BETA 1.0.0/                                                                                                                                                                  " + "\n" +
                        "FallenSurvivor is made by FendiTony777, all rights are reserved to him.                                                                                                            " + "\n" +
                        "You can contact me from the discord link provided.                                                                                                                                   " + "\n" +
                        "---------------------------------------------                                                                                                                                        " + "\n"
        );```

您需要了解文件的字符编码,并确保处理链中的所有工具都正确使用该编码。如注释中所述,ASCII仅涵盖unicode代码点的7位子集(或者更确切地说,unicode被定义为包括0-127范围内的ASCII)。这些块图形字符不是ASCII

它还看起来像是将未定义为无缝工作的图示符组合在一起(这也在Wikipedia页面上有所说明)。空间图示符比块窄一点,完整块看起来比点画块高一点,但这可能并不重要,这取决于渲染时使用的字体

如果您无法控制FileConfiguration类,而FileConfiguration类可能不使用utf-8编码进行编写,那么您就有点运气不佳,除非config.yml的生成是一次性的。在这种情况下,您可以手动编辑生成的文件,并用正确的字符串替换错误编码的字符串


但是,您仍然需要确保读取yaml文件的函数正常工作并保留utf-8代码。如果配置文件生成和配置文件读取是由同一类完成的,则读取可能会出现类似的问题。

您所说的“ASCII-219”是什么意思?ASCII字符仅在0到127之间。另外,我在你发布的内容中没有看到问号。0x219也是Û。您正在使用的框图形字符是