如何在 Java 中将整数添加到 char 中?

How do I add an integer to a char in Java?(如何在 Java 中将整数添加到 char 中?)
本文介绍了如何在 Java 中将整数添加到 char 中?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我正在用 Java 编写密码,但我无法执行以下操作:我想编辑一个 char 数组的值来加密它

I'm making a Cipher in Java but I can't do the follwing thing: I want to edit the value of a char array to encrypt it

我应该怎么做?

更改每个字符的 ASCII 值可能是答案,我不知道;这就是我问你们的原因!

Changing the ASCII value of each char might be the answer, I don't know; that's why I'm asking you Guys!

推荐答案

你可以在 char 中添加一个 int,但结果是一个 int - 你必须转换回 char 才能把它放回数组中,除非你使用复合赋值运算符:

You can add an int to a char, but the result is an int - you'd have to cast back to char to put it back in the array, unless you use the compound assignment operator:

array[x] += someInt;

array[x] = (char) (array[x] + someInt);

但是,通常这不是执行加密的适当方式.您通常会得到不可打印的字符,或者在 Unicode 中甚至没有特定含义的字符.相反,大多数加密算法旨在处理任意二进制数据——即字节数组.

However, usually this isn't an appropriate way of performing encryption. You'll often end up with unprintable characters, or characters which don't even have a specific meaning in Unicode. Instead, most encryption algorithms are designed to work on arbitrary binary data - i.e. byte arrays.

通常您会先将字符串转换为字节数组(例如,使用 String.getBytes(charset) - 一定要指定编码).然后对字节数组进行加密,给你一个新的字节数组.如果您真的需要将其转换回文本,请使用 base64 执行此操作 - 使用 new String(encryptedBytes),因为您没有不再有以普通文本编码方式编码的文本数据.

Usually you would convert the string into a byte array first (e.g. with String.getBytes(charset) - definitely specify an encoding). Then perform encryption on the byte array, giving you a new byte array. If you really need to convert it back to text, use base64 to do so - do not use new String(encryptedBytes), as you no longer have text data encoded in a normal text encoding.

这篇关于如何在 Java 中将整数添加到 char 中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

How to send data to COM PORT using JAVA?(如何使用 JAVA 向 COM PORT 发送数据?)
How to make a report page direction to change to quot;rtlquot;?(如何使报表页面方向更改为“rtl?)
Use cyrillic .properties file in eclipse project(在 Eclipse 项目中使用西里尔文 .properties 文件)
Is there any way to detect an RTL language in Java?(有没有办法在 Java 中检测 RTL 语言?)
How to load resource bundle messages from DB in Java?(如何在 Java 中从 DB 加载资源包消息?)
How do I change the default locale settings in Java to make them consistent?(如何更改 Java 中的默认语言环境设置以使其保持一致?)