【问题标题】:Strings aren't being converted to integers properly how do I fix it?字符串没有正确转换为整数我该如何解决?
【发布时间】:2015-04-23 19:07:11
【问题描述】:

好的,所以我正在尝试做一些隐写术,我正在尝试将输入消息中的每个字符转换为一个整数,然后我用它来设置我的像素值。

要从字符串转换为整数,我使用这行代码:-

int value = Character.getNumericValue(message.charAt(j)); 

但是,当我进行转换时,我所有的字母整数都比它们需要的少 87。所以我通过添加 87 来解决这个问题

然后我遇到了一个问题,我的数字被转换为整数 48,比它们需要的小,所以我通过添加 48 来解决这个问题。

但是现在我正在尝试转换符号,'int value' 被设置为每个符号的 -1。 (也没有太大问题,但我的大写字母最终变成了小写字母)

所以我的问题是如何解决这个问题?还是我需要使用另一种转换方法?

编辑:- 所以我想要的是,如果我的消息中有一个符号,我希望它在图像中正确编码,所以当我解码它时,消息将被正确解码,显示这些符号。

【问题讨论】:

  • 这不清楚。请提供您需要的输入/输出示例。
  • 如果每个人都专注于如何正确地将字符转换为它的 ascii 值,那么这里有一个答案here。也许指出为什么int value = Character.getNumericValue(message.charAt(j)); 没有达到预期效果会很好。即使它就在文档中......

标签: java android steganography


【解决方案1】:

您没有进行错误的转换;你正在做的错误的事情是转换本身,因为一个字符已经 一个整数。

只需像使用 int 值一样使用该字符。例如,您可以编写

int value = message.charAt(j);

【讨论】:

  • 当我尝试转换符号时我只是得到'/',当我解码我的消息时我仍然有可能得到空格(即'testing 123'被解码成'testing 123'而不是“testing123”)
  • 用什么代码解码? space的数值是32,没什么特别的。
猜你喜欢
  • 2013-12-18
  • 1970-01-01
  • 2023-03-11
  • 2020-08-09
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多