我在我的java代碼中使用了一個字符串「abcd」作爲命令行參數。我需要將此字符串傳遞給我的C JNI代碼,該代碼應該接受此字符串並將其用作共享內存標識。 我期待知道如何以及在哪裏我可以使這個字符串代表一個六進制值。將輸入字符串轉換爲六位數表示形式
1
A
回答
0
Java或C?在C中,您使用strtoul
:
#include <stdlib.h>
int main(int argc, char * argv[])
{
if (argc > 1)
{
unsigned int n = strtoul(argv[1], NULL, 16);
}
}
檢查手冊;在解析用戶輸入時,檢查錯誤至關重要,並且在使用strtoul
時有幾個方面。
0
您是否嘗試過這樣的事情:
final String myTest = "abcdef";
for (final char c : myTest.toCharArray()) {
System.out.printf("%h\n", c);
}
如果這是你在找什麼,你可以看看printf的方法,它是基於Formatter
0
所有你需要的是:
Integer.parseInt("abcd", 16);
0
public class HexString {
public static String stringToHex(String base)
{
StringBuffer buffer = new StringBuffer();
int intValue;
for(int x = 0; x < base.length(); x++)
{
int cursor = 0;
intValue = base.charAt(x);
String binaryChar = new String(Integer.toBinaryString(base.charAt(x)));
for(int i = 0; i < binaryChar.length(); i++)
{
if(binaryChar.charAt(i) == '1')
{
cursor += 1;
}
}
if((cursor % 2) > 0)
{
intValue += 128;
}
buffer.append(Integer.toHexString(intValue) + " ");
}
return buffer.toString();
}
public static void main(String[] args)
{
String s = "abcd";
System.out.println(s);
System.out.println(HexString.stringToHex(s));
}
}
相關問題
- 1. 將unicode字符串轉換爲十六進制表示形式
- 2. 將表達式轉換爲字符串表示形式?
- 3. 將單詞的整數表示形式轉換爲字符串
- 4. 將ASCII字符串轉換爲十進制和十六進制表示形式
- 5. C# - 將字符串數據轉換爲實際字符串表示形式
- 6. 將10位數字轉換爲十六進制字符串
- 7. 將Python字符串轉換爲其ASCII碼錶示形式
- 8. 將以整數形式輸入的參數轉換爲JasperReports中的字符串
- 9. 將某些字節的十六進制字符串表示形式轉換爲Java中的字節數組
- 10. 將整數十六進制格式轉換爲字符串
- 11. .NET將數字轉換爲字符串表示形式(1對1,2對2等)
- 12. 將Redis輸出字符串轉換爲位字符串
- 13. 將字符串轉換爲位數組
- 14. Flex將數字字符串轉換爲指數形式
- 15. 將位的字符串表示轉換爲字節
- 16. 將表達式轉換爲字符串
- 17. JAVA - 如何將字符串(UTF-8)轉換爲其六進製表示字符?
- 18. 將ASCII字符轉換爲十六進制轉義字符串
- 19. 將十六進制字符串轉換爲字符串
- 20. Swift3將字符串值轉換爲十六進制字符串
- 21. 將十六進制字符串轉換爲32位二進制字符串
- 22. 如何將字符串的二進制表示形式轉換回字符串?
- 23. 將64位無符號整數(以十六進制字符串形式)轉換爲java中的十進制
- 24. 將字節[]轉換爲二進制的字符串表示形式
- 25. 將URL的十六進制數字轉換爲字符串
- 26. Angular 2輸入NgModel將字符串轉換爲數字
- 27. 將字符串轉換爲十六進制到十六進制
- 28. 將表示二進制的字符串轉換爲表示等效十六進制的字符串
- 29. 如何將輸入的字符串轉換爲列表?
- 30. jquery將序列化表單輸入轉換爲xml字符串