/** 轉(zhuǎn)換字節(jié)序
* @para value 需要轉(zhuǎn)換的數(shù)據(jù)。
* 只會(huì)轉(zhuǎn)換偶數(shù)字節(jié)的數(shù)據(jù),其它的直接返回原值??梢杂糜陬嵉挂粋€(gè)字符串。
* @authr Fongluo
* @date 2008/06/06 10:00
**/
template<typename VALUE_TYPE >
VALUE_TYPE switchByteOrders(VALUE_TYPE value)
{
size_t stValueLen = sizeof(value);
PBYTE pStart = (PBYTE)&value;
PBYTE pEnd = pStart + (stValueLen - 1);
if(0 != stValueLen && (0 == (stValueLen&0x01)))
{
stValueLen /= 2;
for(size_t i=0; i< stValueLen; i++)
{
swap((*pStart), (*pEnd));
pStart ++;
pEnd --;
}
}
return value;
}