当前位置: 首页 > 面试题库 >

将0xFF写入文件时出现问题

黄弘新
2023-03-14
问题内容

我正在尝试使用PrintStream在Java文件中写入0xFF。当我使用十六进制编辑器打开其他值时,会将其他值正确写入文件,但是假定显示0xFF的值却改为0xC3BF。

使用的变量类型为int。经过几次尝试后,我还发现我可以输入的“最大值”值为0x7F,这将在十六进制编辑器中正确显示,如果我输入0x80,则十六进制编辑器将显示0xC280。

怎么了?


问题答案:

进行一些调查后发现,输出值是UTF-8编码的(以下几行是Python):

In [1]: "\xc2\x80".decode("utf-8")
Out[1]: u'\x80'

In [2]: "\xc3\xbf".decode("utf-8")
Out[2]: u'\xff'

确保为print/ println/
选择正确的重载write,以便将整数值写为字节而不是字符或字符串。有关所有重载,请参见PrintStream的文档。



 类似资料:
  • 我正在尝试将我的应用程序移植到TDEngine,该应用程序通过其无模式接口将ImpxDb数据写入TDEngine。我认为这应该很容易,但实际上并不容易。 爪哇代码如下: 我在控制台上得到了结果: 传感器,设备 Id=传感器0 电流=10.2,json$j=“{”f6“:”tt“,”f7“:”aa“,”f0“:”tt“,”f1“:”aa“,”f2“:”tt“,”f3“:”aa“,”f4“:”tt“,

  • 问题内容: 在我的机器上,我有一些软件可以在终端中接收命令并返回值列表。 要运行它,我必须输入以下内容: 我正在尝试将其作为python程序的一部分运行。当我运行以下命令时: 然后我得到想要返回到终端的值(其中epoch_name是文件名的变量名)。但是,当我尝试将结果写入文件时: 产生了文件123.txt,但它为空。 我知道我放错了“和/或’字符,但是我不知道它们应该去哪里。 任何帮助将不胜感激

  • 我有一个CSV文件,我想在我的弹性搜索中导入它。 我用的是Windows 10,我也有一个Kibana,可以在导入后浏览数据。我使用Logstash来尝试导入。 我的所有服务(Kibana、es和Logstash)都在我的本地主机上运行。 我尝试使用以下Logstash配置文件(我的csv文件在正确的路径中): 如您所见,我试图使用“csv”或“grok”过滤器。 然后,我在详细模式下使用以下配置

  • 我有一个很大的数据框,我正在HDFS中写入拼花文件。从日志中获取以下异常: 谷歌对此进行了搜索,但找不到任何具体的解决方案。将推测设置为false:conf.Set(“spark.投机”,“false”) 但仍然没有帮助。它只完成了几个任务,生成了几个零件文件,然后突然因此错误而停止。 详细信息:Spark版本:2.3.1(这在1.6x中没有发生) 只有一个会话正在运行,这排除了不同会话访问同一位

  • 修复此错误的唯一方法是删除出现此JavaDoc的整个文件,或者只删除该JavaDoc部分。我还不能进一步缩小范围,因为错误发生在javadoc的三个部分中的任何一个,而不是空的javadoc主体。我在另一个文件中也不会遇到这个Javadoc错误: 更奇怪的是,当我尝试将错误输出到文件时,错误出现在Powershell中,结果是: 正如您所看到的,由于某种奇怪的原因,错误并没有出现,但它确实出现在我

  • 我在把数据写到excel文件时遇到了问题。我使用的是apache POI 4.1.2版本库。下面是示例代码。 在excel文件中保存的最后一列单元格中,以前的单元格保持为空白。请帮忙,如果我做错了什么,请告诉我?