C++で16進数ASCIIコードをint型の16進数に変換
2013-11-06
/*!
16進数ASCIIコードをint型の16進数に変換する。
例) ['0' → 0x00], ['a' → 0x0a], ['F' → 0x0f]
@param character :変換元の16進数文字(ASCII)
@return 変換結果。16進数文字でなければ0を返す
*/
int characterToHex(char character) {
// 16進数文字でなければ0を返す。
if (!isxdigit(character)) return 0;
// '0'~'9'
if (isdigit(character)) return (character - 0x30);
// 'A'~'F'
if (isupper(character)) return (character - 0x37);
// 'a'~'f'
if (islower(character)) return (character - 0x57);
return 0;
}