ASN.1 BER バイナリを CSV テキストに変換するためのコードを書いています。出力テキスト ファイルに書き込まれるすべての ASN タイプの (かなり大きな) 構造があります。これで、通常の方法を使用して要素を 1 つずつ書き込むことができます (出力ファイルはプレーン テキストでなければならないため) が、これを処理する賢い方法を探しています。これを行うためのヒント/コツや提案が得られることを願っています。
サンプル構造 (実際の構造はもっと大きい):
typedef struct
{
unsigned short intrecordType;
unsigned long long int callingNumber;
unsigned long long int calledNumber;
char recordingEntity[7];
char mscIncomingTKGP[4];
char mscOutgoingTKGP[4];
char seizureTime[9];
char answerTime[9];
char releaseTime[9]
struct
{
int gsm0408Cause;
int gsm0902MapErrorValue;
int ccittQ767Cause;
int networkSpecificCause;
int manufacturerSpecificCause;
} diagnostics;
unsigned long long int callReference;
int sequenceNumber;
int lastLongPartInd;
int recordExtensions;
char exchangeIdentity[MAX_IA5STRING_SIZE];
} IncGatewayRec;
33 のそのような構造 (それぞれに約 60 ~ 70 の要素) と、フラグを格納するための対応する構造があり、どのフィールドが入力され、どのフィールドが入力されていないかを確認します (同じ構造、フラグを格納するためのすべてのデータ型のみunsigned short int
) 。
前もって感謝します。:)