有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在没有Bom的情况下将UTF8中的字符串转换为byteArray

我将文本转换为Base64 byteArray,没有任何问题。不幸的是,转换后的字符串需要以“PD”开头。这意味着我应该将其编码为UTF-8,不使用BOM,而不使用BOM。我在网上开始了一些代码和一切。但是,我没有成功。感谢您的帮助

非常感谢你

问候 阿尔珀

public static byte[] convertToByteArray(String strToBeConverted) {
    return strToBeConverted.getBytes(StandardCharsets.UTF_8);
}

共 (1) 个答案

  1. # 1 楼答案

    return strToBeConverted.replaceFirst("^\uFEFF", "").getBytes(StandardCharsets.UTF_8);
    

    BOM是Unicode代码点U+FEFF

    移除它意味着首先要检查它是否确实存在String.replaceFirst代价高昂,因为它使用正则表达式匹配,但在这里很好