2017-04-10 43 views
0

我正在將一些舊版代碼轉換爲ITK 4.7以進行dicom操作。我正在閱讀私人圖片標籤,但以少量私人標籤獲得Base64編碼格式的結果。ITK 4.7 baseic解碼Dicom

我想知道我得到了一個標籤作爲

MlwtNVwyNSA= 

基本上它的編碼值

2\-5\25(in base64)

價值我知道有Base64.h隨gdcm庫,但問題是ITK的頭/函數的一部分,或者我需要創建gdcm對象來轉換編碼值?或者爲自己的轉換編寫我自己的C++函數? ITK 4.7庫中最有效(如果不是原生的)方法是什麼?

回答

1

通過查看源代碼(gdcmBase64.h和.cxx),gdcm :: Base64是一個獨立的類,它獨立於GDCM的其餘部分。只需#include "gdcmBase64.h",並根據需要調用編碼和解碼。

或者,您可以找到base64編碼和解碼的實現,並將它們放在源文件中。 base64編碼非常簡單。

+0

看起來這是唯一可行的選擇,我認爲,因爲我使用itk :: GDCMImageIO *對象,我可以直接調用編碼/解碼。無論如何感謝您的建議。我想知道爲什麼GDCMImageIO對象不包含所有內容。 – Naumann

+0

可能是因爲標記值可能包含NULL,如果您將標記值視爲以空字符結尾的字符串,則這可能會產生問題。 –