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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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

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

C#
阿晨1998 2021-07-01 16:43:17
您好,我想將一些 utf 8 字符的值硬編碼為字節(jié)。例如:'$', '-', '+';對于'$'如何由此計算字節(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?]}我應該尋找上面的哪一列來編碼一個字節(jié)?列值和字節(jié)值之間有什么公式char嗎?
查看完整描述

2 回答

?
不負相思意

TA貢獻1777條經驗 獲得超10個贊

對于 ASCII 字符(0-127 范圍內的字符),您可以簡單地轉換它們


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

除此以外:


public const byte dollar = 0x0024;

所以char列。刪除U+并添加 0x。僅對 0x0000-0x007F 范圍內的字符有效。


請注意,編譯后的代碼沒有區(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,如果您討厭這個世界并且想要混淆您的代碼,您可以:


public const byte dollar = 0b00100100;

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


查看完整回答
反對 回復 2021-07-03
?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

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

由于上述原因,您可以將它們轉換為:

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

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

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

或者,更明確,但對性能來說也是最差的:

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


查看完整回答
反對 回復 2021-07-03
  • 2 回答
  • 0 關注
  • 157 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號