forked from tronprotocol/java-tron
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathStringUtil.java
More file actions
65 lines (54 loc) · 1.99 KB
/
StringUtil.java
File metadata and controls
65 lines (54 loc) · 1.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/*
* java-tron is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* java-tron is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.tron.common.utils;
import com.google.protobuf.ByteString;
import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;
import org.tron.core.Wallet;
public class StringUtil {
/**
* n-bits hex string.
*
* @param str target string
* @param bits string bits
*/
public static boolean isHexString(String str, int bits) {
String regex = String.format("^[A-Fa-f0-9]{%d}$", bits);
return str.matches(regex);
}
public static byte[] createDbKey(ByteString string) {
return string.toByteArray();
}
public static String createReadableString(byte[] bytes) {
return ByteArray.toHexString(bytes);
}
public static String createReadableString(ByteString string) {
return createReadableString(string.toByteArray());
}
public static List<String> getAddressStringList(Collection<ByteString> collection) {
return collection.stream()
.map(bytes -> Wallet.encode58Check(bytes.toByteArray()))
.collect(Collectors.toList());
}
public static List<String> getAddressStringListFromByteArray(Collection<byte[]> collection) {
return collection.stream()
.map(bytes -> createReadableString(bytes))
.collect(Collectors.toList());
}
public static ByteString hexString2ByteString(String hexString) {
return ByteString.copyFrom(ByteArray.fromHexString(hexString));
}
}