Discussion:
[問題] Byte型態轉換
(时间太久无法回复)
unknown
2006-09-25 17:37:49 UTC
Permalink
我利用6個JTextField想輸入MAC的address (型態Byte[])

請問一下要如何將String轉成符合MAC address
ex:
我輸入b4 會超出byte範圍...請問一下該怎麼解決??
(不知道是不是有號無號數的問題)


這樣敘述不知道有沒有人看的懂


--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.124.181.236
unknown
2006-09-25 23:19:24 UTC
Permalink
�� �ޭz�mPsMonkey (�l�l�x�ιΪ�)�n���ʨ��G
: ==�����H��===
: �� �ޭz�mkangta198109 (�_���P�@��N)�n���ʨ��G
: : �ڧQ��6��JTextField�Q���JMAC��address (���AByte[])
: : �аݤ@�U�n�p���NString�ন�ŦXMAC address
: : ex:
: : �ڿ��Jb4 �|�W�Xbyte�d��...�аݤ@�U�ӫ����ѨM??
: : (�����D�O���O�����L���ƪ����D)
: : �o�˱ԭz�����D���S���H�ݪ��
: ���M... �ݤ��...
: 1. ��ԣ�A�n�� byte ���A�H
: 2. �A���S���� check �@�U byte ���A���j�p�d���H
: 3. ���ĤG�I�A�A�O�X�Ӧr���b byte[] �����@�� element�H
: �εۡA���n�H���Ӱݪk�ݧA
: �A�O�ŧi byte[] foo = new byte[6]
: �٬O byte[] foo = new byte[12] �άO....
: 4. ���O�D�~�ܡA�Фp�ߤj�p�g
: �H�y�������צӨ��Abyte[] �� Byte[] �t�D�`�h

�D�`���p!!!

�bJPcap��EthernetPacket����MAC���}
���ƫ��A�K�Obyte[](�p�g)
�Q�k�O�o��,�ڷQ�n�������JMAC���}
�Ҧp:00:13:e4:c4:4c:67(�@��MAC�����ܤ��k)
����MAC���}�s�Jbyte[]!!!

���D�K�O���ڱN�����J���Ʊ��@�����s�Jbyte[]��
���Ƿ|�o�ͶW�X�d��
�N�ڲq�Q�O�]���ڿ��J������00:13:e4:c4:4c:67
���O16�i��L����,��byte�O������,�ҥH�|�o��
�����D���S���H���D�ӫ����ഫ
���ڦn�n�Dzߤ@�U,�h�¤j�a

���W�����{���X:
srcMAC[i] = Byte.valueOf(srcMACText[i].getText(),16);
dstMAC[i] = Byte.valueOf(dstMACText[i].getText(),16);

//srcMAC[i]:���ƫ��Abyte
//dstMAC[i]:���ƫ��Abyte
//srcMACText[i]:���J������(String)
//dstMACText[i]:���J������(String)

--
�� �o�H��: ���������~�{(ptt.cc)
�� From: 59.112.86.60
愚者
2006-09-25 23:37:36 UTC
Permalink
�� �ޭz�mkangta198109 (�_���P�@��N)�n���ʨ��G
: ���O16�i��L����,��byte�O������,�ҥH�|�o��
: �����D���S���H���D�ӫ����ഫ
: ���ڦn�n�Dzߤ@�U,�h�¤j�a
: ���W�����{���X:
: srcMAC[i] = Byte.valueOf(srcMACText[i].getText(),16);
: dstMAC[i] = Byte.valueOf(dstMACText[i].getText(),16);
: //srcMAC[i]:���ƫ��Abyte
: //dstMAC[i]:���ƫ��Abyte
: //srcMACText[i]:���J������(String)
: //dstMACText[i]:���J������(String)

public class TTT {
public static void main(String[] args) {
byte a = (byte) 0x08;
short b = 0x08;

System.out.println(b);
System.out.println( (a < 0) ? Math.abs(~a - 256 + 1): a);
}
}

--
�� �o�H��: ���������~�{(ptt.cc)
�� From: 163.26.34.213

继续阅读narkive:
Loading...