第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

將 UTF8 字符編碼為字節(jié)表或公式

將 UTF8 字符編碼為字節(jié)表或公式

C#
阿晨1998 2021-07-01 16:43:17
您好,我想將一些 utf 8 字符的值硬編碼為字節(jié)。例如:'$', '-', '+';對(duì)于'$'如何由此計(jì)算字節(jié)值:     symbol      char              octal code point      binary code point  binary utf8        $         U+0024              044                 010 0100       00100100   此列中編碼為字節(jié)的值是多少?public class Constants{   public const byte dollar= [value pick from where ?]      public const byte minus= [pick value from where?]}我應(yīng)該尋找上面的哪一列來(lái)編碼一個(gè)字節(jié)?列值和字節(jié)值之間有什么公式char嗎?
查看完整描述

2 回答

?
不負(fù)相思意

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超10個(gè)贊

對(duì)于 ASCII 字符(0-127 范圍內(nèi)的字符),您可以簡(jiǎn)單地轉(zhuǎn)換它們


public const byte dollar = (byte)'?';

除此以外:


public const byte dollar = 0x0024;

所以char列。刪除U+并添加 0x。僅對(duì) 0x0000-0x007F 范圍內(nèi)的字符有效。


請(qǐng)注意,編譯后的代碼沒(méi)有區(qū)別:sharplab:


public const byte dollar = (byte)'$';

public const byte dollar2 = 0x0024;

被編譯為:


.field public static literal uint8 dollar = uint8(36)

.field public static literal uint8 dollar2 = uint8(36)

使用 C# 7.0,如果您討厭這個(gè)世界并且想要混淆您的代碼,您可以:


public const byte dollar = 0b00100100;

(他們添加了二進(jìn)制文字,0b是前綴)


查看完整回答
反對(duì) 回復(fù) 2021-07-03
?
紫衣仙女

TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊

您所指的字符不是 UTF-8 字符。所以它們是單字節(jié)字符。(注意 UTF-8 只對(duì) ASCII 字符集以外的字符使用 2 個(gè)字節(jié))

由于上述原因,您可以將它們轉(zhuǎn)換為:

public const byte dollar = (byte)'$';

如果您需要以字節(jié)為單位的 UTF-8 字符,則應(yīng)使用:

public static readonly byte[] trademark = new byte[] { 194, 153 };

或者,更明確,但對(duì)性能來(lái)說(shuō)也是最差的:

public static readonly byte[] trademark = Encoding.UTF8.GetBytes("\u0099");


查看完整回答
反對(duì) 回復(fù) 2021-07-03
  • 2 回答
  • 0 關(guān)注
  • 123 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)