JAVA (Android) 字符串的按位运算符
JAVA (Android) bitwise operator on strings
我很生气,我需要使用这个运算符创建一个令牌
PHP
a = "hello";
b = "world";
token = a | b;
好吧,我需要在 java [android] 中创建相同的内容,但我总是出错。
我已经尝试:
- 将 2 个字符串转换为 long 但显然我在转换时遇到错误
- 在 BitSet
中转换 2 字符串
- 将 2 个字符串转换为位数组
但最后的结果总是出错
有人可以给我一些建议吗?
正如 Sotirios 所说,您可能(?)试图连接字符串。如果是这样,那么 String token=a+b;
应该可以完成这项工作。同样,不清楚你问的是什么。你可能想看看 String documentation.
假设你想对字符串进行按位运算(对PHP中这些字符串的字符的ASCII值进行按位运算)。 Java 中的 String
没有这样的运算符,但您可以使用 BitSet
:
public String or(String a, String b) throws UnsupportedEncodingException {
final String charsetName = "US-ASCII";
BitSet aBitSet = BitSet.valueOf(a.getBytes(charsetName));
aBitSet.or(BitSet.valueOf(b.getBytes(charsetName)));
return new String(aBitSet.toByteArray(), Charset.forName(charsetName));
}
我很生气,我需要使用这个运算符创建一个令牌
PHP
a = "hello";
b = "world";
token = a | b;
好吧,我需要在 java [android] 中创建相同的内容,但我总是出错。
我已经尝试:
- 将 2 个字符串转换为 long 但显然我在转换时遇到错误
- 在 BitSet
中转换 2 字符串
- 将 2 个字符串转换为位数组
但最后的结果总是出错
有人可以给我一些建议吗?
正如 Sotirios 所说,您可能(?)试图连接字符串。如果是这样,那么 String token=a+b;
应该可以完成这项工作。同样,不清楚你问的是什么。你可能想看看 String documentation.
假设你想对字符串进行按位运算(对PHP中这些字符串的字符的ASCII值进行按位运算)。 Java 中的 String
没有这样的运算符,但您可以使用 BitSet
:
public String or(String a, String b) throws UnsupportedEncodingException {
final String charsetName = "US-ASCII";
BitSet aBitSet = BitSet.valueOf(a.getBytes(charsetName));
aBitSet.or(BitSet.valueOf(b.getBytes(charsetName)));
return new String(aBitSet.toByteArray(), Charset.forName(charsetName));
}