@@ -44,22 +44,16 @@ public static String BinaryToString(Byte[] rawData, EncodingType encoding = Enco
4444 if ( PemHeader . ContainsEncoding ( encoding ) ) {
4545 return BinaryToStringFormatter . ToBase64 ( rawData , encoding , format , start , count ) ;
4646 }
47- switch ( encoding ) {
48- case EncodingType . Base64 :
49- return BinaryToStringFormatter . ToBase64 ( rawData , encoding , format , start , count ) ;
50- case EncodingType . Hex :
51- return BinaryToStringFormatter . ToHex ( rawData , format , start , count , forceUpperCase ) ;
52- case EncodingType . HexAddress :
53- return BinaryToStringFormatter . ToHexAddress ( rawData , format , start , count , forceUpperCase ) ;
54- case EncodingType . HexAscii :
55- return BinaryToStringFormatter . ToHexAscii ( rawData , format , start , count , forceUpperCase ) ;
56- case EncodingType . HexAsciiAddress :
57- return BinaryToStringFormatter . ToHexAddressAndAscii ( rawData , format , start , count , forceUpperCase ) ;
58- case EncodingType . HexRaw :
59- return BinaryToStringFormatter . ToHexRaw ( rawData , start , count , forceUpperCase ) ;
60- default :
61- throw new ArgumentException ( "Specified encoding is invalid." ) ;
62- }
47+
48+ return encoding switch {
49+ EncodingType . Base64 => BinaryToStringFormatter . ToBase64 ( rawData , encoding , format , start , count ) ,
50+ EncodingType . Hex => BinaryToStringFormatter . ToHex ( rawData , format , start , count , forceUpperCase ) ,
51+ EncodingType . HexAddress => BinaryToStringFormatter . ToHexAddress ( rawData , format , start , count , forceUpperCase ) ,
52+ EncodingType . HexAscii => BinaryToStringFormatter . ToHexAscii ( rawData , format , start , count , forceUpperCase ) ,
53+ EncodingType . HexAsciiAddress => BinaryToStringFormatter . ToHexAddressAndAscii ( rawData , format , start , count , forceUpperCase ) ,
54+ EncodingType . HexRaw => BinaryToStringFormatter . ToHexRaw ( rawData , start , count , forceUpperCase ) ,
55+ _ => throw new ArgumentException ( "Specified encoding is invalid." )
56+ } ;
6357 }
6458 /// <summary>
6559 /// Converts and formats current position af the <see cref="Asn1Reader"/> object.
@@ -102,22 +96,16 @@ public static String BinaryToString(Asn1Reader asn, EncodingType encoding = Enco
10296 if ( PemHeader . ContainsEncoding ( encoding ) ) {
10397 return BinaryToStringFormatter . ToBase64 ( asn . GetRawData ( ) , encoding , format , asn . PayloadStartOffset , asn . PayloadLength ) ;
10498 }
105- switch ( encoding ) {
106- case EncodingType . Base64 :
107- return BinaryToStringFormatter . ToBase64 ( asn . GetRawData ( ) , encoding , format , asn . PayloadStartOffset , asn . PayloadLength ) ;
108- case EncodingType . Hex :
109- return BinaryToStringFormatter . ToHex ( asn . GetRawData ( ) , format , asn . PayloadStartOffset , asn . PayloadLength , forceUpperCase ) ;
110- case EncodingType . HexAddress :
111- return BinaryToStringFormatter . ToHexAddress ( asn . GetRawData ( ) , format , asn . PayloadStartOffset , asn . PayloadLength , forceUpperCase ) ;
112- case EncodingType . HexAscii :
113- return BinaryToStringFormatter . ToHexAscii ( asn . GetRawData ( ) , format , asn . PayloadStartOffset , asn . PayloadLength , forceUpperCase ) ;
114- case EncodingType . HexAsciiAddress :
115- return BinaryToStringFormatter . ToHexAddressAndAscii ( asn . GetRawData ( ) , format , asn . PayloadStartOffset , asn . PayloadLength , forceUpperCase ) ;
116- case EncodingType . HexRaw :
117- return BinaryToStringFormatter . ToHexRaw ( asn . GetRawData ( ) , asn . PayloadStartOffset , asn . PayloadLength , forceUpperCase ) ;
118- default :
119- throw new ArgumentException ( "Specified encoding is invalid." ) ;
120- }
99+
100+ return encoding switch {
101+ EncodingType . Base64 => BinaryToStringFormatter . ToBase64 ( asn . GetRawData ( ) , encoding , format , asn . PayloadStartOffset , asn . PayloadLength ) ,
102+ EncodingType . Hex => BinaryToStringFormatter . ToHex ( asn . GetRawData ( ) , format , asn . PayloadStartOffset , asn . PayloadLength , forceUpperCase ) ,
103+ EncodingType . HexAddress => BinaryToStringFormatter . ToHexAddress ( asn . GetRawData ( ) , format , asn . PayloadStartOffset , asn . PayloadLength , forceUpperCase ) ,
104+ EncodingType . HexAscii => BinaryToStringFormatter . ToHexAscii ( asn . GetRawData ( ) , format , asn . PayloadStartOffset , asn . PayloadLength , forceUpperCase ) ,
105+ EncodingType . HexAsciiAddress => BinaryToStringFormatter . ToHexAddressAndAscii ( asn . GetRawData ( ) , format , asn . PayloadStartOffset , asn . PayloadLength , forceUpperCase ) ,
106+ EncodingType . HexRaw => BinaryToStringFormatter . ToHexRaw ( asn . GetRawData ( ) , asn . PayloadStartOffset , asn . PayloadLength , forceUpperCase ) ,
107+ _ => throw new ArgumentException ( "Specified encoding is invalid." )
108+ } ;
121109 }
122110 /// <summary>
123111 /// Converts previously formatted string back to a byte array.
@@ -142,38 +130,20 @@ public static Byte[] StringToBinary(String input, EncodingType encoding = Encodi
142130 var pemHeader = PemHeader . GetHeader ( encoding ) ;
143131 rawData = StringToBinaryFormatter . FromBase64Header ( input , pemHeader . GetHeader ( ) , pemHeader . GetFooter ( ) ) ;
144132 } else {
145- switch ( encoding ) {
146- case EncodingType . Binary :
147- rawData = StringToBinaryFormatter . FromBinary ( input ) ;
148- break ;
149- case EncodingType . Base64 :
150- rawData = StringToBinaryFormatter . FromBase64 ( input ) ;
151- break ;
152- case EncodingType . Base64Any :
153- rawData = StringToBinaryFormatter . FromBase64Any ( input ) ;
154- break ;
155- case EncodingType . StringAny :
156- rawData = StringToBinaryFormatter . FromStringAny ( input ) ;
157- break ;
158- case EncodingType . Hex :
159- case EncodingType . HexRaw :
160- rawData = StringToBinaryFormatter . FromHex ( input ) ;
161- break ;
162- case EncodingType . HexAddress :
163- rawData = StringToBinaryFormatter . FromHexAddr ( input ) ;
164- break ;
165- case EncodingType . HexAscii :
166- rawData = StringToBinaryFormatter . FromHexAscii ( input ) ;
167- break ;
168- case EncodingType . HexAsciiAddress :
169- rawData = StringToBinaryFormatter . FromHexAddrAscii ( input ) ;
170- break ;
171- case EncodingType . HexAny :
172- rawData = StringToBinaryFormatter . FromHexAny ( input ) ;
173- break ;
174- default :
175- throw new ArgumentException ( "Invalid encoding type is specified." ) ;
176- }
133+ rawData = encoding switch {
134+
135+ EncodingType . Binary => StringToBinaryFormatter . FromBinary ( input ) ,
136+ EncodingType . Base64 => StringToBinaryFormatter . FromBase64 ( input ) ,
137+ EncodingType . Base64Any => StringToBinaryFormatter . FromBase64Any ( input ) ,
138+ EncodingType . StringAny => StringToBinaryFormatter . FromStringAny ( input ) ,
139+ EncodingType . Hex
140+ or EncodingType . HexRaw => StringToBinaryFormatter . FromHex ( input ) ,
141+ EncodingType . HexAddress => StringToBinaryFormatter . FromHexAddr ( input ) ,
142+ EncodingType . HexAscii => StringToBinaryFormatter . FromHexAscii ( input ) ,
143+ EncodingType . HexAsciiAddress => StringToBinaryFormatter . FromHexAddrAscii ( input ) ,
144+ EncodingType . HexAny => StringToBinaryFormatter . FromHexAny ( input ) ,
145+ _ => throw new ArgumentException ( "Invalid encoding type is specified." )
146+ } ;
177147 }
178148
179149
0 commit comments