处理 String.getBytes("UTF-8") 中的 UnsupportedEncodingException 的推荐方法

2024-04-07

建议的处理方式是什么不支持的编码异常 http://docs.oracle.com/javase/6/docs/api/java/io/UnsupportedEncodingException.html在库方法中调用 String.getBytes("UTF-8") 时?

如果我在读书http://docs.oracle.com/javase/6/docs/technotes/guides/intl/encoding.doc.html http://docs.oracle.com/javase/6/docs/technotes/guides/intl/encoding.doc.html正确的是,UTF-8编码应该always可用,这让我相信没有理由将此异常传递给库的使用者(即添加一个throws方法签名的子句)。似乎任何导致 UTF-8 编码设施不可用的故障模式都将是灾难性的,导致我编写了这个处理程序:

    try
    {
        ....
        return "blah".getBytes("UTF-8");
    }
    catch (UnsupportedEncodingException e)
    {
        // we're assuming UTF-8 encoding is always available.
        // see
        // http://docs.oracle.com/javase/6/docs/technotes/guides/intl/encoding.doc.html
        e.printStackTrace();
        return null; //prevent compile-time "method must return a result" errors
    }

是否存在此代码片段无法解决的故障模式?


你知道我做什么吗?

return "blah".getBytes( Charset.forName( "UTF-8" ) );

这个不会抛出检查异常。

Update:从 Java 1.7 开始,我们有标准字符集 https://docs.oracle.com/javase/7/docs/api/java/nio/charset/StandardCharsets.html.

return "blah".getBytes( StandardCharsets.UTF_8 );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

处理 String.getBytes("UTF-8") 中的 UnsupportedEncodingException 的推荐方法 的相关文章

随机推荐

  • 无法从客户端连接到 PostgreSQL - 错误超时

    经过很多天尝试连接到我的 PostgreSQL 实例后 我决定是时候寻求帮助了 我正在尝试从 Windows 计算机连接到我的 PostgreSQL 数据库 我正在尝试 pgAdmin 4 和 dBeaver 但都无法连接 下面是我使用 d
  • 如何在 TypeScript 中使用 Mocha 和 Jest 而不发生冲突?

    我正在尝试在一个项目上安装带有类型的 Mocha 和 Jest 我们使用严格的类型检查 因此我收到与冲突的全局类型相关的错误 我试图创建不明确的模块声明 仅定义 Mochatypes at tsconfig 我一直在尝试删除 Jest 的声
  • 如何在二维码上添加徽标

    我正在使用 zxing java 生成二维码 想知道一种向二维码添加徽标的方法 是否有任何内置方法可以为其添加徽标或任何替代方法 您可能必须使用另一个图像库添加图像覆盖 我设法找到了能够做到这一点的资源 http skrymerdev wo
  • JVM CPU 峰值故障排除

    我们在其中一台应用程序服务器上发现了一个有趣的 尽管相当严重 问题 在某个时间点 运行 Web 应用程序的 JVM 的 CPU 使用率开始上升 并持续上升 直到应用程序最终减慢到爬行 修复此问题的唯一方法是重新启动应用程序服务器软件 应用服
  • 使用 REST API 将端口绑定到主机接口

    命令行界面的文档说明如下 将容器的端口绑定到主机的特定接口 系统 使用docker run命令的 p参数 一般语法 docker run p
  • 是否可以使用 Apache 记录所有 HTTP 请求标头?

    如何将 apache 收到的 HTTP 请求标头 全部 的内容记录到日志文件中 目前我的apache组合日志格式配置是 LogFormat h l u t r gt s b Referer i User Agent i Cookie i c
  • 使用 Jquery 的模态 PDF IFRAME

    这是我的脚本 运行完美 没有问题 现在为什么我将其发布在这里 主要是为了我可以增强它并使其变得更好 我也认为这可以帮助其他人 JQUERY 这是一个工作示例http jsfiddle net cornelas 4eUgf 2 http js
  • vim 中递归搜索模式的函数

    我有一个包含简单文本行的文本文件 我想创建一个函数vim and gvim 文本编辑器 can be sent a variable number of patterns and it should find lines will all
  • CDF 累积分布函数误差

    我正在尝试为多列数据文件中的一列绘制 CDF 当数据文件中仅存在一列时 它可以很好地绘制 当我尝试从数据中获取特定列时 它给了我错误 我还尝试使用 for 循环来读取它读起来很好的特定列 如果我在 for 循环之外给出绘图语句 则绘图仅显示
  • C++ 中字符串文字的类型是什么? [复制]

    这个问题在这里已经有答案了 例如 字符串文字 Hello 的类型是什么 const char 6 or const char 字符串文字的类型 Hello 是 6 的数组const char 普通字符串文字和 UTF 8 字符串文字也称为窄
  • 使用 URL 进行简单的 Swift 文件下载

    因此 我将 URL 作为字符串 在本例中为 JPG 但如果可能的话 希望有一个适用于任何文件类型的通用过程 并将文件路径作为字符串 用于保存文件 实现这一点的最快方法是什么 请记住 这是针对 OSX 命令行应用程序的 我尝试了这里找到的一些
  • 如何一键点击链接即可实现“链接另存为”功能? [复制]

    这个问题在这里已经有答案了 因此 正如你们大多数人可能知道的那样 当您在网页上放置文件的链接时 您必须右键单击该链接 然后单击 链接另存为 才能下载该文件 我想知道是否有一种方法可以单击链接并自动下载文件 有一个方法 使用header 调用
  • 在 C# 中追加两个或多个字节数组

    在 C 中是否有最好的 见下文 方法来附加两个字节数组 假装我拥有完全的控制权 我可以使第一个字节数组足够大以在末尾保存第二个字节数组并使用数组 复制到 https msdn microsoft com en us library syst
  • 当返回自定义对象列表时,RxJava 突出显示错误但编译

    我正在进行 RxJava 调用 我订阅的最终结果是预订列表 代码工作正常 但我得到了这个恼人的亮点 演员阵容在这里不起作用 因为我无法演员阵容List
  • 为什么 Linux 重定向会截断文件?

    我有一个名为 test txt 的文件 如下所示 hello world 它只是一个 hello world 字符串 如果我使用 perl 正则表达式 perl pe s hello bye g test txt it says bye w
  • 使用 itextsharp 使用数据库中的图像创建 pdf

    我有一个过程 其中 html 与图像链接存储在数据库中 图像也存储在数据库中 我创建了一个从数据库读取图像的控制器操作 我生成的路径是这样的 File Image path Root test jpg 该图像路径嵌入在 html 的 img
  • 使用自定义配置在调试模式下运行 sbt 项目

    我想使用特殊配置在我的 sbt 0 11 项目中引入调试模式 我尝试使用以下代码来实现这一点 但不幸的是 它似乎没有按预期工作 我正在启动debug run但运行并未按预期暂停 object Test extends Build lazy
  • 如何在 Windows 10 上解锁詹金斯

    我使用下载的 msi 在我的 Windows 10 机器上安装了 jenkins 它安装得很好 现在启动了浏览器 提示我使用初始管理员密码解锁詹金斯 我在任何地方都找不到这个文件 我查看了安装目录 C Program Files x86 J
  • 在 ControllerAdvice 之前捕获反序列化异常

    这是一个问题 我有一个采用输入模型的控制器 可以说 public class AppUserUpdateData NotNull Size min 1 max 50 protected String login JsonDeserializ
  • 处理 String.getBytes("UTF-8") 中的 UnsupportedEncodingException 的推荐方法

    建议的处理方式是什么不支持的编码异常 http docs oracle com javase 6 docs api java io UnsupportedEncodingException html在库方法中调用 String getByt