簡體   English   中英

Java字節碼和.NET字節碼之間有什么區別嗎? 如果是這樣,我可以采用該值的十六進制嗎?

[英]Is there any difference between Java byte code and .NET byte code? If so, shall I take hexadecimal of that values?

我想知道Java字節碼和.NET字節碼之間是否有區別? 如果有任何區別,我應采用該Java字節代碼和.Net字節代碼的十六進制值。 因為,十六進制與語言無關,並且是通用規范。

問題描述

我們正在用j2me和Java開發移動應用程序。 在這里,我使用外部指紋讀取器來讀取/驗證指紋。 我們正在使用一種Java api來讀取/驗證指紋。

我捕獲了手指模板和原始圖像字節。 我將原始圖像字節轉換為十六進制形式,並存儲在單獨的文本文件中。

在這里,我們使用轉換工具(.NET開發)將十六進制形式轉換為圖像。 借助該工具,我們正在嘗試從該文本文件中獲取圖像。 但是我們無法正確獲取圖像。

.NET程序員說Java字節和.NET字節不同。 Java字節的范圍是-128到127。但是.NET字節的范圍是0到255。因此存在問題。

但是我在這里的假設是:十六進制獨立於Java&.net。 兩者都是共同的。 因此,我計划將字節碼轉換為十六進制格式,而不是將字節碼存儲在文本文件中。 因此,我們的.NET轉換工具會自動將此十六進制轉換為Image。

我不知道我走的路是否正確?

十六進制只是表示數字的一種方式。

Java被編譯為字節碼並由JVM執行。 .NET被編譯為字節碼,並由CLR執行。 兩種格式完全不兼容。

是的,Java字節碼和.NET的字節碼是兩個不可互換的東西。 關於您的問題的第二部分,我不知道您在說什么。

我捕獲了手指模板和原始圖像字節。我將原始圖像字節轉換為十六進制形式,並存儲在單獨的文本文件中。

好; 注意,將其存儲為二進制文件會更容易(並且效率更高),但這應該可以工作

在這里,我們使用轉換工具(.NET開發)將十六進制格式轉換為圖像,在該工具的幫助下,我們試圖從該文本文件中獲取圖像,但是我們無法正確獲取圖像。

不用擔心圖像 ,第一件事就是檢查問題出在哪里; 有兩種明顯的情況:

  • 您沒有將數據讀回相同的字節
  • 您有正確的字節,但無法將其作為圖像加載

第一; 只需存儲一些已知數據並嘗試在另一端重新讀取,即可找出其中的哪一個。

.NET程序員說Java字節和.NET字節不同.Java字節的范圍是-128至127,但是.NET字節的范圍是0至255,因此存在問題。

對於任何寫得很好的十六進制編碼來說,這都不是問題。 我希望單個Java字節正確寫入00和FF之間的單個十六進制值。

我不知道,我是否要走正確的道路?

就我個人而言,我懷疑您對問題有誤解,這很可能使解決方案超出了預期。 如果您想使生活更輕松,請以二進制而不是文本的形式存儲。 但交換十六進制不存在固有的問題。 如果必須將原始二進制數據打包到文本文件中,就我個人而言,我可能會選擇使用base-64而不是hex(它會更短),但是兩者都可以。

正如我上面提到的:首先要弄清楚問題是否在於讀取字節,而不是將字節處理成圖像。 我還假設這里的字節是兩種環境都可以處理的圖像格式,而不是(例如)自定義序列化格式。

是的,它們有些不同,但是有些工具可以從一個遷移到另一個。
java bytecode IL comparison搜索Google。 來自同一搜索的 這一個

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM