你的想法很好,有太多的初學(xué)者都這么想,我也這么想過。完整的想法是,把代碼保存在本地的文件夾內(nèi),或數(shù)據(jù)庫里,程序運(yùn)行到某處,用這個(gè)代碼運(yùn)行,如果運(yùn)行到另一處,用另一個(gè)代碼運(yùn)行,如果有一天算法變了,我修改一下里面的代碼就行了。對吧。但是,想法只是想法,總是沒那么容易去實(shí)現(xiàn)。
成都創(chuàng)新互聯(lián)長期為上千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為普陀企業(yè)提供專業(yè)的成都網(wǎng)站制作、成都網(wǎng)站建設(shè),普陀網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
Unicode編碼是一個(gè)數(shù)組,其中每個(gè)元素代表一個(gè)位碼,還有ASCII和UTF8兩種編碼格式。
Unicode:
Dim bytes() As Byte() = System.Text.Encoding.Unicode.GetBytes("字符串")
ASCII:
Dim bytes() As Byte() = System.Text.Encoding.ASCII.GetBytes("字符串")
UTF8:
Dim bytes() As Byte() = System.Text.Encoding.UTF8.GetBytes("字符串")
字符編碼轉(zhuǎn)換嗎?
1.字符與gb2312(gbk的子集):
Public Function GBKEncode(ByVal sInput As String) As String
Dim ret_GBKEncode As String = ""
Dim i As Integer
Dim startIndex As Integer = 0
Dim endIndex As Integer
Dim x() As Byte = System.Text.Encoding.Default.GetBytes(sInput) '字符以及字符串在vb2008中都是以unicode編碼存儲的
endIndex = x.Length - 1
For i = startIndex To endIndex
ret_GBKEncode = "%" Hex(x(i))
Next
Return ret_GBKEncode
End Function
'GBK解碼
Public Function GBKDecode(ByVal sInput As String) As String
sInput = sInput.Replace("%", "")
Dim ret_GBKDecode As String = ""
Dim sLen As Integer = sInput.Length
Dim n As Integer = sLen \ 2
Dim sBytes(0 To n - 1) As Byte
'轉(zhuǎn)化為字節(jié)碼
For i As Integer = 1 To n
sBytes(i - 1) = CByte("H" sInput.Substring(2 * i - 2, 2))
Next
'將字節(jié)碼轉(zhuǎn)化為字符串
ret_GBKDecode = System.Text.Encoding.Default.GetString(sBytes)
Return ret_GBKDecode
End Function
2.Unicode字符串為UTF-8
Imports System.Text
Public Function StringAsUtf8Bytes(ByVal strData As String) As Byte()
Dim bytes() As Byte
bytes = Encoding.UTF8.GetBytes(strData)
Return bytes
End Function
'這里可以類推出好幾種。
1、字節(jié)數(shù)組轉(zhuǎn)換為字符串
byte[] byBuffer = new byte[20];
String strRead = new String(byBuffer);
strRead = String.copyValueOf(strRead.toCharArray(), 0, byBuffer.length]);
2、字符串轉(zhuǎn)換成字節(jié)數(shù)組
byte[] byBuffer = new byte[200];
String strInput=abcdefg;
byBuffer= strInput.getBytes();
注意:如果字符串里面含有中文,要特別注意,在android系統(tǒng)下,默認(rèn)是UTF8編碼,一個(gè)中文字符相當(dāng)于3個(gè)字節(jié),只有g(shù)b2312下一個(gè)中文相當(dāng)于2字節(jié)。這種情況下可采取以下辦法:
numHex =Integer.Parse(strHex, Globalization.NumberStyles.AllowHexSpecifier)
或
numHex = Integer. Parse("H" strHex)
把字符串“12341168C5B7”轉(zhuǎn)換為16進(jìn)制數(shù)存為string型
用shuzi=Convert.ToInt32("12341168C5B7",16)
就ok了。
反之用 shuzi.ToString("X")就行了。
給分!?。?/p>
12341168C5B7轉(zhuǎn)換成10進(jìn)制數(shù)就是20014839678391。。
而int32的最大值為2,147,483,647。。所以產(chǎn)生錯(cuò)誤。
所以要用int64,它的最大值為9,223,372,036,854,775,807。也就是16位十六進(jìn)制數(shù)0X7FFFFFFFFFFFFFFF。
難道還有比F靠后的數(shù)??????