c中的位域成员 不知大家用什么方式实现

c中的位域成员 不知大家用什么方式实现

struct CMD{
    BYTE a:3;
    BYTE b:5;
};

首先想知道除了ctypes,还有没有更好的选择?

import struct
from ctypes import *

class CMD(Structure):
    _fields_ = [(a, c_ubyte, 3),
                   (b, c_ubyte, 5)]
               
class uCMD(Union):
    _fields_ = [('uvalue', CMD),
                   ('value',  c_ubyte)]
    def strPack(self):
        return '1B'

另外,这些结构用于网络传输,使用struct pack和unpack
不知是否有技巧 使对其赋值取值能简便些

我的网络示例程序在http://blog.chinaunix.net/u/13779/showart_545440.html

隔了这么久回来看 竟然没有一个回复
感觉xml或者xdr应该可以