Return a string encoded accordingly the codec.
Only BASE64 codec is currently available.
type(string) :: astring
astring = 'How are you?'
print '(L1)', astring%encode(codec='base64')//''=='SG93IGFyZSB5b3U/'
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | self |
The string. |
||
character(kind=CK, len=*), | intent(in) | :: | codec |
Encoding codec. |
Encoded string.
elemental function encode(self, codec) result(encoded)
!< Return a string encoded accordingly the codec.
!<
!< @note Only BASE64 codec is currently available.
!<
!<```fortran
!< type(string) :: astring
!< astring = 'How are you?'
!< print '(L1)', astring%encode(codec='base64')//''=='SG93IGFyZSB5b3U/'
!<```
!=> T <<<
class(string), intent(in) :: self !< The string.
character(kind=CK, len=*), intent(in) :: codec !< Encoding codec.
type(string) :: encoded !< Encoded string.
if (allocated(self%raw)) then
encoded = codec
select case(encoded%upper()//'')
case('BASE64')
call b64_encode(s=self%raw, code=encoded%raw)
endselect
endif
endfunction encode