getBytes() 方法返回未知字节

2023-11-24



import java.io.UnsupportedEncodingException;
import java.util.Arrays;

public class Main {
 public static void main(String[] args)
 {
  try 
  {
   String s = "s";
   System.out.println( Arrays.toString( s.getBytes("utf8") ) );
   System.out.println( Arrays.toString( s.getBytes("utf16") ) );
   System.out.println( Arrays.toString( s.getBytes("utf32") ) );
  }  
  catch (UnsupportedEncodingException e) 
  {
   e.printStackTrace();
  }
 }
}

Console:


[115]
[-2, -1, 0, 115]
[0, 0, 0, 115]

它是什么?

[-2,-1] - ???

另外,我指出,如果我这样做:


String s = new String(new char[]{'\u1251'});
System.out.println( Arrays.toString( s.getBytes("utf8") ) );
System.out.println( Arrays.toString( s.getBytes("utf16") ) );
System.out.println( Arrays.toString( s.getBytes("utf32") ) );

Console:


[-31, -119, -111]
[-2, -1, 18, 81]
[0, 0, 18, 81]

不要忘记 Java 中的字节是无符号的。所以-2、-1实际上意味着0xfe 0xff...而U+FEFF是Unicode字节顺序标记(BOM)...这就是您在 UTF-16 版本中看到的内容。

为了避免在编码时获取 BOM,请显式使用 UTF-16BE 或 UTF-16LE。 (我还建议使用平台保证的名称而不仅仅是“utf8”等。诚然,该名称保证在不区分大小写的情况下找到,但缺少连字符使其不太可靠,并且使用规范名称没有任何缺点。)

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

getBytes() 方法返回未知字节 的相关文章

  • SQL 查询结果为字符串(或变量)

    是否可以将SQL查询结果输出到一个字符串或变量中 我的php和mysql不好 假设我有数据库 agents 其中包含列 agent id agent fname agent lname agent dept 使用此查询 sql SELECT
  • 是否可以使用 Java 读写 Parquet,而不依赖 Hadoop 和 HDFS?

    我一直在寻找这个问题的解决方案 在我看来 如果不引入对 HDFS 和 Hadoop 的依赖 就无法在 Java 程序中嵌入读写 Parquet 格式 它是否正确 我想在 Hadoop 集群之外的客户端计算机上进行读写 我开始对 Apache
  • java 中的梵文 i18n

    我正在尝试使用来自互联网的示例 ttf 文件在 java 中使用 i18n 进行梵文 印地文 我可以加载资源包条目 还可以加载 ttf 并设置字体 但它不会根据需要呈现 jlabel 它显示块代替字符 如果我在 Eclipse 中调试 我可
  • 如何准确判断 double 是否为整数? [复制]

    这个问题在这里已经有答案了 具体来说 在 Java 中 我如何确定double是一个整数 为了澄清 我想知道如何确定 double 实际上不包含任何分数或小数 我主要关心的是浮点数的性质 我想到的方法 以及我通过谷歌找到的方法 基本上遵循以
  • Apache Thrift Java-Javascript 通信

    我正在编写一个基于 Apache Thrift 的 Java 服务器 它将从 Javascript 客户端接收数据 我已经完成了 Java 服务器 但问题是我可以获得 Javascript 客户端的工作示例 我无法找到一个好的示例 构建文档
  • 在 Eclipse 3.5 上安装旧版 TestNG 插件时出现问题

    我正在尝试在 eclipse 3 5 上安装 TestNG 5 11 并获得以下信息 eclipse buildId unknown java version 1 6 0 19 java vendor Sun Microsystems In
  • 获取Android库中的上下文

    我正在编写一个 Android 应用程序 它的一些功能封装在内部库中 但是 要使此功能发挥作用 库需要一个应用程序上下文的实例 为图书馆提供这种上下文的最佳方式是什么 我看到了一些选择 但没有一个有吸引力 Have my library c
  • java项目中无法加载类“org.slf4j.impl.StaticLoggerBinder”错误? [复制]

    这个问题在这里已经有答案了 我越来越Failed to load class org slf4j impl StaticLoggerBinder 错误 我想将记录器写入文件 所以我使用了 log4j jar 并使用 apache tomca
  • 如何在 Eclipse 中获得完全限定的类名?

    有没有一种快速方法可以在 Eclipse 中单击 Java 类并获取其完全限定名称 或将其复制到剪贴板 2016年6月29日编辑 正如 Jeff 所指出的 您只需要执行以下第二步 1 Double click on the class na
  • 膨胀类 android.support.design.widget.NavigationView 时出错

    我按照 NavigationView 的教程进行操作 但无法解决此错误消息 Error inflating class android support design widget NavigationView 教程链接 https www
  • 打印“X”个字符数与“X”字符串长度的所有可能组合(暴力破解)

    我正在尝试编写一个单词组合生成器 我的意思是打印 X 个字符数与 X 字符串长度的所有可能组合 首先 我需要说的是 我在 StackOverFlow 中看到了一个关于这个问题的问题 其中有很多单词生成器的答案来执行此操作 在不同的语言上 但
  • RxJava android mvp 单元测试 NullPointerException

    我是 mvp 单元测试的新手 我想对演示者进行一个非常基本的测试 它负责登录 我只想断言 view onLoginSuccess 这是演示者代码 public LoginPresenter LoginViewContract loginVi
  • 检查字符串是否编码为 UTF-8

    function seems utf8 str length strlen str for i 0 i lt length i c ord str i if c lt 0x80 n 0 0bbbbbbb elseif c 0xE0 0xC0
  • Janusgraph 0.3.2 + HBase 1.4.9 - 无法设置 graph.timestamps

    我在 Docker 容器中运行 Janusgraph 0 3 2 并尝试使用运行 HBase 1 4 9 的 AWS EMR 集群作为存储后端 我可以运行 gremlin server sh 但如果我尝试保存某些内容 我会得到粘贴在下面的堆
  • 获取 Future 对象的进度的能力

    参考 java util concurrent 包和 Future 接口 我注意到 除非我弄错了 只有 SwingWorker 实现类才能启动冗长的任务并能够查询进度 这就引出了以下问题 有没有办法在非 GUI 非 Swing 应用程序 映
  • 使用 Java 8 Spring 4 + MyBatis 集成问题

    使用 Java 8 1 8 0 60 Spring 4 2 1 和 MyBatis 3 3 0 时遇到以下异常 Sep 29 2015 11 02 58 AM org springframework context annotation A
  • 检查按钮是否可用?如果没有,请等待 5 秒钟,然后再次检查?

    基本上我想看看此刻是否可以单击按钮 如果没有我想再试一次 所以我需要某种 goto 函数来返回到代码的前一行 尽管我怀疑我写得非常糟糕 但它本来可以做得更容易 try driver findElement By xpath button i
  • 从 InputStream 中删除换行符

    我喜欢从一个文件中删除所有换行符 对于 n 和 r n java io InputStream 在读取文件时 相应的方法如下所示 param target linkplain File return linkplain InputStrea
  • Java时区混乱

    我正在运行 Tomcat 应用程序 并且需要显示一些时间值 不幸的是 时间快到了 还有一个小时的休息时间 我调查了一下 发现我的默认时区被设置为 sun util calendar ZoneInfo id GMT 08 00 offset
  • 我怎样才能限定我不“拥有”的自动装配设置器

    要点是 Spring Batch v2 测试框架具有JobLauncherTestUtils setJob与 Autowired注解 我们的测试套件有多个Job类提供者 由于这个类不是我可以修改的东西 我不确定如何限定它自动连接的作业 每个

随机推荐

  • 如何导出一个元素的所有相关 HTML/CSS

    我确信这个问题存在 但我找不到它 有没有tool这样可以获取一个元素我的 HTML 文档并导出那个元素 其全部parents及其所有的相关CSS but 没有其他的 EDIT 抱歉我说得不够清楚 我并不意味着我想要 Firebug DevT
  • Python 中的离散拉普拉斯算子(del2 等效)

    我需要 Matlab Octave 离散拉普拉斯算子 函数 的 Python Numpy 等效项del2 我尝试了几个Python解决方案 其中没有一个与输出匹配del2 在八度上我有 image 3 4 6 7 8 9 10 11 12
  • 在 C# 中以编程方式将 SSRS 报告另存为 PDF

    我已经阅读了有关此问题的多篇文章 但它们最终都无法正常工作 或者位于 vb net 中 我目前拥有的 这些报告可通过 URL 进行访问 该 URL 将其呈现为 PDF 并在用户单击按钮时将其保存在下载文件夹中 这些报告具有通用名称 例如 O
  • 是否有一种技术可以将 XSL 转换管道合并为单个转换?

    我已经编写了一个使用 15 个 XSL 样式表管道的应用程序 并且我开始致力于调整其性能 它被设计为可移植的 因此可以在 Web 浏览器环境和桌面上运行 在桌面上 我认为将样式表作为多个转换的管道分开可能是有意义的 因为这允许每个单独的转换
  • 模糊半透明形式的背景(如 Aero 玻璃)

    我有一个无边框 不可调整大小的 WPF 表单 WindowStyle None AllowsTransparency True ResizeMode NoResize 具有半透明背景 这是一个半透明的红色矩形表单现在在记事本上运行的样子的图
  • ASP.NET 动态数据 TextSearch 自定义过滤器模板

    我正在尝试为所有基于文本的搜索实现自定义过滤器模板 但在构建查询时遇到了问题 我一直按照发布的说明进行操作这个博客但不确定如何更改 GetQueryable 方法来执行 WHERE columnAttribute LIKE somethin
  • EmberJS - 如何使用 linkTo 动态生成链接?

    有没有办法使用动态生成链接link to通过传递带有路由路径的变量来提供帮助 例如 不要像这样对路径进行硬编码 linkTo route subroute model model title linkTo 我希望能够通过link tohel
  • 如何通过 UDP CFSocket 发送数据包?

    我是网络方面的新手 但我是一名 C C 程序员 并且正在使用 Objective C 这是针对 OSX iPhone 的 我正在尝试学习如何使用 cfsocket 通过 UDP 套接字发送魔术包 我见过有诸如 AsyncUDP Socket
  • Angular 5:条件模块延迟加载

    我在尝试根据用户配置文件延迟加载模块时遇到问题 我定义了三个默认路径 每个路由的路径为空 每个用户都可以访问特定的模块 我正在使用守卫来确定当前的用户配置文件 实际上我正在手动切换以通过设置来设置默认加载的模块常量 canGo true 预
  • 具有 Webview 的 IOS 和 Android 应用程序仅被视为混合应用程序还是 Web 应用程序?

    我的困惑是 用 Java 或 Swift 创建的仅带有 Web 视图的应用程序是否被视为混合应用程序或 Web 应用程序 我知道 Web 应用程序几乎只使用 Web 但如果它是通过 Java Webview 的 Web 视图 那么它真的被视
  • 即将推出的 Java 并发库:jsr166y 是什么? jsr166z?

    我想尝试一下即将推出的并发库 将被包含在Java 7 根据这个网站 好像有名字JSR166 在大多数地方 其参考实现被称为jsr166y 虽然很少有资源称之为jsr166z 我完全发现了两个不同的每个参考实现的 javadocs 文档用于j
  • mongoose:禁止更新特定字段

    var post mongoose Schema createdOn Date 我想允许设置 createdOn仅在创建文档时字段 并且不允许在将来的更新中更改它 Mongoose 中是如何完成的 我通过设置达到了这个效果 createdO
  • 如何从可迭代的元组创建多维 numpy 数组?

    我想从可迭代对象创建一个 numpy 数组 它会产生值的元组 例如数据库查询 Like so data db execute SELECT col1 col2 col3 col4 FROM data A np array list data
  • 仔细检查片段+视图持有者模式是否正确实现

    由于内存泄漏 我一直在重新编写一些代码 该代码是应用程序帮助部分的一部分 我们在其中使用 FragmentActivity 和 FragmentPageAdapter 来允许用户滑动浏览不同的帮助屏幕 每个片段 下面的SectionFrag
  • gem install json 因重新定义 struct timezone/timespec 而失败

    我在 Windows 上使用 Ruby 1 9 3 和 DevKit Win 7 64 位上的所有 32 位 现在我尝试安装 Rails 但从捆绑包中收到错误 如果我尝试运行 bundle 抱怨什么 gem install json 我收到
  • 如何使用 PHP 将十进制数转换为单词(货币格式)?

    我这里只需要一点帮助 因为我正在创建一个代码 用于将小数转换为单词中的货币格式 例如如果 我有这个号码 2143 45 输出应该是 两千一百四十三又四十五美分 我找到了这样的代码 但我不知道如何包含美分
  • 启动下载的最佳方式?

    在一个基于 PHP 的网站上 我想在用户填写完简短的表单后向他们发送一个下载包 站点启动的下载应该类似于 download com 等站点 后者表示 您的下载将立即开始 几个可能的方法我知道浏览器兼容性 基于快速测试 1 Do a wind
  • LINQ 选择不同的 C#

    我正在尝试执行不包含重复的查询IdUser值 但不起作用 这是我的 linq 查询 var sql from u in db USER join c in db CONSULT on u IdUser equals c IdUser sel
  • 使用 Lambda 从 S3 获取图像在 Python 中返回一个白框

    我正在尝试从 S3 存储桶获取图像并将其返回 这是代码 import base64 import boto3 import json import random s3 boto3 client s3 def lambda handler e
  • getBytes() 方法返回未知字节

    import java io UnsupportedEncodingException import java util Arrays public class Main public static void main String arg