ticoAg/ChineseCorpus-Kaggle-fanti huggingface dataset:
* ''第三版，The Unicode Standard''，§2.3（2000）及勘誤表#1：UTF-8 Shortest Form（2000）
* ''Unicode Standard附加文件#27: Unicode 3.1''（2001）
事實上，所有定義的基本原理都是相同的，它們之間最主要的不同是支持的字元範圍及無效輸入的處理方法。
Unicode字元的位元被分割為數個部分，並分配到UTF-8的位元組串中較低的位元的位置。在U+0080的以下字元都使用內含其字元的單位元組編碼。這些編碼正好對應7位元的ASCII字符。在其他情況，有可能需要多達4個字元組來表示一個字元。這些多位元組的最高有效位元會設定成1，以防止與7位元的ASCII字符混淆，並保持標準的位元組主導字串運作順利。
代碼範圍十六進制
標量值（scalar value）二進制
UTF-8二進制／十六進制
000000 - 00007F128個代碼
00000000 00000000 0zzzzzzz
0zzzzzzz（00-7F）
ASCII字元範圍，位元組由零開始
000080 - 0007FF1920個代碼
00000000 00000yyy yyzzzzzz
110yyyyy（C0-DF） 10zzzzzz（80-BF）
第一個位元組由110開始，接著的位元組由10開始
三個y；二個y；六個z
五個y；六個z
000800 - 00D7FF 00E000 - 00FFFF61440個代碼
00000000 xxxxyyyy yyzzzzzz
1110xxxx（E0-EF） 10yyyyyy 10zzzzzz
第一個位元組由1110開始，接著的位元組由10開始
四個x；四個y；二個y；六個z
四個x；六個y；六個z
010000 - 10FFFF1048576個代碼
000wwwxx xxxxyyyy yyzzzzzz
11110www（F0-F7） 10xxxxxx 10yyyyyy 10zzzzzz
將由11110開始，接著的位元組由10開始
三個w；二個x；四個x；四個y；二個y；六個z
三個w；六個x；六個y；六個z
: Unicode在範圍D800-DFFF中不存在任何字元，基本多文種平面中約定了這個範圍用於UTF-16擴展標識輔助平面（兩個UTF-16表示一個輔助平面字符）。當然，任何編碼都是可以被轉換到這個範圍，但在unicode中他們並不代表任何合法的值。
例如，希伯來語字母aleph（?）的Unicode代碼是U+05D0，按照以下方法改成UTF-8：
* 它屬于U+0080到U+07FF區域，這個表說明它使用雙字節，''110''yyyyy ''10''zzzzzz.
* 十六進制的0x05D0換算成二進制就是101-1101-0000.
* 這11位數按順序放入"y"部分和"z"部分：11010111 10010000.
* 最后結果就是雙字節，用十六進制寫起來就是0xD7 0x90，這就是這個字符aleph（?）的UTF-8編碼。
所以開始的128個字元（US-ASCII）只需一字節，接下來的1920個字符需要雙字節編碼，包括帶附加符號的拉丁字母，希臘字母，西里爾字母，科普特語字母，亞美尼亞語字母，希伯來文字母和阿拉伯字母的字元。基本多文種平面中其余的字元使用三個字節，剩余字符使用四個字節。
根據這種方式可以處理更大數量的字元。原來的規范允許長達6字節的序列，可以覆蓋到31位元（通用字符集原來的極限）。盡管如此，2003年11月UTF-8被RFC?3629重新規范，-{只}-能使用原來Unicode定義的區域，U+0000到U+10FFFF。根據這些規范，以下字節值將無法出現在合法UTF-8序列中：
編碼（二進制）
編碼（十六進制）
1100000x
C0, C1
過長編碼：雙字節序列的頭字節，但碼點 1111110x
F8, F9, FA, FB, FC, FD
被RFC 3629規范：5或6字節序列的頭字節
111101011111011x
F5, F6, F7
被RFC 3629規范：碼點超過10FFFF的頭字節
*對于UTF-8編碼中的任意字節B，如果B的第一位為0，則B獨立的表示一個字符(ASCII碼)；
*如果B的第一位為1，第二位為0，則B為一個多字節字符中的一個字節(非ASCII字符)；
*如果B的前兩位為1，第三位為0，則B為兩個字節表示的字符中的第一個字節；
*如果B的前三位為1，第四位為0，則B為三個字節表示的字符中的第一個字節；
*如果B的前四位為1，第五位為0，則B為四個字節表示的字符中的第一個字節；
因此，對UTF-8編碼中的任意字節，根據第一位，可判斷是否為ASCII字符；根據前二位，可判斷該字節是否為一個字符編碼的第一個字節；根據前四位（如果前兩位均為1），可確定該字節為字符編碼的第一個字節，并且可判斷對應的字符由幾個字節表示；根據前五位（如果前四位為1），可判斷編碼是否有錯誤或數據傳輸過程中是否有錯誤。
UTF-8的設計有以下的多字元組序列的特質：
*單位元組字符的最高有效位元永遠為0。
*多位元組序列中的首個字元組的幾個最高有效位元決定了序列的長度。最高有效位為110的是2位元組序列，而1110的是三位元組序列，如此類推。
*多位元組序列中其餘的位元組中的首兩個最高有效位元為10。
UTF-8的這些特質，保證了一個字符的字節序列不會包含在另一個字符的字節序列中。這確保了以位元組為基礎的部份字串比對（sub-string match）方法可以適用於在文字中搜尋字或詞。有些比較舊的可變長度8位元編碼（如Shift JIS）沒有這個特質，故字串比對的算法變得相當複雜。雖然這增加了UTF-8編碼的字串的信息冗餘，但是利多於弊。另外，資料壓縮並非Unicode的目的，所以不可混為一談。即使在傳送過程中有部份位元組因錯誤或干擾而完全遺失，還是有可能在下一個字符的起點重新同步，令受損範圍受到限制。
另一方面，由於其位元組序列設計，如果一個疑似為字符串的序列被驗證為UTF-8編碼，那麼我們可以有把握地說它是UTF-8字符串。一段兩位元組隨機序列碰巧為合法的UTF-8而非ASCII的機率為32分1。對於三位元組序列的機率為256分1，對更長的序列的機率就更低了。
UTF-8是UNICODE的一種變長度的編碼表達方式一般UNICODE為雙位元組（指UCS2），它由肯·湯普遜于1992年建立，現在已經標準化為RFC 3629。UTF-8就是以8位為單元對UCS進行編碼，而UTF-8不使用大尾序和小尾序的形式，每個使用UTF-8儲存的字符，除了第一個字節外，其餘字節的頭兩個位元都是以"10"開始，使文字處理器能夠較快地找出每個字符的開始位置。
但為了與以前的ASCII碼相容（ASCII為一個位元組），因此UTF-8選擇了使用可變長度字節來儲存Unicode：
（注意：不論是Unicode (Table 3.7) ，還是ISO 10646 (10.2 UTF-8) ，目前都只規定了最高碼位是0x10FFFF的字元的編碼。下表中表示大于0x10FFFF的UTF-8編碼是不符合標準的。）
+ Unicode 和 UTF-8 之間的轉換關系表 ( x 字符表示碼點占據的位 )
Byte 1
Byte 2
Byte 3
Byte 4
Byte 5
Byte 6
&nbsp;&nbsp;7
U+0000
U+007F
0xxxxxxx
U+0080
U+07FF
110xxxxx
10xxxxxx
U+0800
U+FFFF
1110xxxx
U+10000
U+1FFFFF
11110xxx
U+200000
U+3FFFFFF
111110xx
U+4000000
U+7FFFFFFF
1111110x
* 在ASCII碼的範圍，用一個位元組表示，超出ASCII碼的範圍就用位元組表示，這就形成了我們上面看到的UTF-8的表示方法，這様的好處是當UNICODE文件中-{只}-有ASCII碼時，儲存的文件都為一個位元組，所以就是普通的ASCII文件無異，讀取的時候也是如此，所以能與以前的ASCII文件相容。
* 大於ASCII碼的，就會由上面的第一位元組的前幾位表示該unicode字元的長度，比如110xxxxx前三位的二進位表示告訴我們這是個2BYTE的UNICODE字元；1110xxxx是個三位的UNICODE字元，依此類推；xxx的位置由字符編碼數的二進製表示的位填入。越靠右的x具有越少的特殊意義。只用最短的那個足夠表達一個字符編碼數的多字節串。注意在多字節串中，第一個字節的開頭"1"的數目就是整個串中字節的數目。
ASCII字母繼續使用1字節儲存，重音文字、希臘字母或西里爾字母等使用2字節來儲存，而常用的漢字就要使用3字節。輔助平面字元則使用4字節。
在UTF-8+BOM格式文件的開首，很多時都放置一個U+FEFF字符（UTF-8以EF,BB,BF代表），以顯示這個文字檔案是以UTF-8編碼。
+ UTF-8圖表說明
10FFFF
每字節所占位數
Byte order
每個字符最小字節數
每個字符最大字節數
* UCS字符U+0000到U+007F（ASCII）被編碼為字節0x00到0x7F（ASCII兼容），這也意味著只包含7位ASCII字符的文件在ASCII和UTF-8兩種編碼方式下是一樣的。
*所有>U+007F的UCS字符被編碼為一個多個字節的串，每個字節都有標記位集。因此，ASCII字節（0x00-0x7F）不可能作為任何其他字符的一部分。
*表示非ASCII字符的多字節串的第一個字節總是在0xC0到0xFD的範圍裡，並指出這個字符包含多少個字節。多字節串的其餘字節都在0x80到0xBF範圍裡，這使得重新同步非常容易，並使編碼無國界，且很少受丟失字節的影響。
*可以編入所有可能的231個UCS代碼
* UTF-8編碼字符理論上可以最多到6個字節長，然而16位BMP字符最多只用到3字節長。
* Bigendian UCS-4字節串的排列順序是預定的。
*字節0xFE和0xFF在UTF-8編碼中從未用到，同時，UTF-8以位元組為編碼單元，它的位元組順序在所有系統中都是一様的，沒有位元組序的問題，也因此它實際上并不需要BOM。
*與UTF-16或其他Unicode編碼相比，對於不支持Unicode和XML的系統，UTF-8更不容易造成問題。
總體來說，在Unicode字符串中不可能由碼點數量決定顯示它所需要的長度，或者顯示字符串之后在文本緩沖區中光標應該放置的位置；組合字符、變寬字體、不可打印字符和從右至左的文字都是其歸因。
所以盡管在UTF-8字符串中字元數量與碼點數量的關系比UTF-32更為復雜，在實際中很少會遇到有不同的情形。
更詳細的說，UTF-8編碼具有以下幾點優點：
* ASCII是UTF-8的一個子集。因為一個純ASCII字符串也是一個合法的UTF-8字符串，所以現存的ASCII文本不需要轉換。為傳統的擴展ASCII字符集設計的軟件通常可以不經修改或很少修改就能與UTF-8一起使用。
*使用標準的面向字節的排序例程對UTF-8排序將產生與基于Unicode代碼點排序相同的結果。（盡管這-{只}-有有限的有用性，因為在任何特定語言或文化下都不太可能有仍可接受的文字排列順序。）
* UTF-8和UTF-16都是可擴展標記語言文檔的標準編碼。所有其它編碼都必須通過顯式或文本聲明來指定。
*任何面向字節的字符串搜索算法都可以用于UTF-8的數據（-{只}-要輸入僅由完整的UTF-8字符組成）。但是，對于包含字符記數的正則表達式或其它結構必須小心。
* UTF-8字符串可以由一個簡單的算法可靠地識別出來。就是，一個字符串在任何其它編碼中表現為合法的UTF-8的可能性很低，并隨字符串長度增長而減小。舉例說，字元值C0,C1,F5至FF從來沒有出現。為了更好的可靠性，可以使用正則表達式來統計非法過長和替代值（可以查看 W3 FAQ: Multilingual Forms 上的驗證UTF-8字符串的正則表達式）。
* 與UCS-2的比較：ASCII轉換成UCS-2，在編碼前插入一個0x0。用這些編碼，會含括一些控制符，比如"或 '/'，這在UNIX和一些C函數中，將會產生嚴重錯誤。因此可以肯定，UCS-2不適合作為Unicode的外部編碼，也因此誕生了UTF-8。
一份寫得很差（并且與當前標準的版本不兼容）的UTF-8解析器可能會接受一些不同的偽UTF-8表示并將它們轉換到相同的Unicode輸出上。這為設計用于處理八位表示的校驗例程提供了一種遺漏信息的方式。
正則表達式可以進行很多英文高級的模糊檢索。例如，a-h表示a到h間所有字母。
同樣GBK編碼的中文也可以這樣利用正則表達式，比如在只知道一個字的讀音而不知道怎么寫的情況下，也可用正則表達式檢索，因為GBK編碼是按讀音排序的。但是UTF-8不是按讀音排序的，所以不利于用正則表達式檢索（雖然正則表達式檢索並未考慮中文中的多音字，但是由于中文的多音字數量不多，不少多音字還是同音不同調類型的多音字，所以大多數情況下正則表達式檢索是可以接受的）。但是，Unicode是按部首排序的，因此在只知道一個字的部首而不知道如何發音的情況下，UTF-8可用正則表達式檢索而GBK不行。
與其他Unicode編碼相比，特別是UTF-16，在UTF-8中ASCII字元佔用的空間-{只}-有一半，可是在一些字元的UTF-8編碼佔用的空間就要多出1/3，特別是中文、日文和韓文（CJK）這樣的方塊文字。
雖然不是標準，但許多Windows程序（包括Windows記事本）在UTF-8編碼的檔案的開首加入一段位元組串EF BB BF。這是位元組順序記號U+FEFF的UTF-8編碼結果。對於沒有預期要處理UTF-8的文字編輯器和瀏覽器會顯示成ISO-8859-1字符串???。
Posix系統明確不建議使用字節序掩碼EF BB BF。因為很多文本文件期望以 “#!”（Shebang）開頭指示要運行的程序。Linux系統選擇使用Unicode規范形式Normalization Form C（NFC），即優先使用預組裝字符（precomposed character）而非組合字符序列（combining character sequence）。
2002年9月發布的Red Hat Linux 8.0才開始正式把大多數區域設置的默認編碼設為UTF-8。此前是各種語言的但字節編碼為主。2004年9月SuSE Linux 9.1開始，缺省編碼遷移為UTF-8。
字符串處理時，使用UTF-8或locale依賴的多字節編碼情形，比使用C語言wchar_t的寬字符固定寬度編碼，要慢1至2個數量級。
在通常用法下，Java程序語言在通過和讀取和寫入串的時候支持標準UTF-8。但是，Java也支持一種非標準的變體UTF-8，供對象的序列化，Java本地界面和在class文件中的嵌入常數時使用的。
標準和變種的UTF-8有兩個不同點。第一，空字符（null character，U+0000）使用雙字節的0xc0 0x80，而不是單字節的0x00。這保證了在已編碼字串中沒有嵌入空字節。因為C語言等語言程序中，單字節空字符是用來標志字串結尾的。當已編碼字串放到這樣的語言中處理，一個嵌入的空字符將把字串一刀兩斷。
第二個不同點是基本多文種平面之外字符的編碼的方法。在標準UTF-8中，這些字符使用4字節形式編碼，而在修正的UTF-8中，這些字符和UTF-16一樣首先表示為代理對（surrogate pairs），然后再像CESU-8那樣按照代理對分別編碼。這樣修正的原因更是微妙。Java中的字符為16位長，因此一些Unicode字符需要兩個Java字符來表示。語言的這個性質蓋過了Unicode的增補平面的要求。盡管如此，為了要保持良好的向后兼容、要改變也不容易了。這個修正的編碼系統保證了一個已編碼字串可以一次編為一個UTF-16碼，而不是一次一個Unicode碼點。不幸的是，這也意味著UTF-8中需要4字節的字符在變種UTF-8中變成需要6字節。
因為變種UTF-8并不是UTF-8，所以用戶在交換信息和使用互聯網的時候需要特別注意不要誤把變種UTF-8當成UTF-8數據。
Mac OS X操作系統使用正式分解萬國碼（canonically decomposed Unicode），在文件系統中使用UTF-8編碼進行文件命名，這做法通常被稱為UTF-8-MAC。正式分解萬國碼中，預組合字符是被禁止使用的，必須以組合字符取代。
這種方法使分類變得非常簡單，但是會搞混那些使用預組合字符為標準、組合字符用來顯示特殊字符的軟件。Mac系統的這種NFD數據是萬國碼規范化（Unicode normalization）的一種格式。而其他系統，包括Windows和Linux，使用萬國碼規范的NFC形式，也是W3C標準使用的形式。所以通常NFD數據必須轉換成NFC才能被其他平臺或者網絡使用。
蘋果開發者專區有關于此問題的討論： Apple Q&A 1173 。
MySQL字符編碼集中有兩套UTF-8編碼實現：“utf8”和“utf8mb4”，其中“utf8”是一個字最多占據3字節空間的編碼實現；而“utf8mb4”則是一個字最多占據4字節空間的編碼實現，也就是UTF-8的完整實現。這是由于MySQL在4.1版本開始支持UTF-8編碼（當時參考UTF-8草案版本為）時，為2003年，并且在同年9月限制了其實現的UTF-8編碼的空間占用最多為3字節，而UTF-8正式形成標準化文檔是其之后。限制UTF-8編碼實現的編碼空間占用一般被認為是考慮到數據庫文件設計的兼容性和讀取最優化，但實際上并沒有達到目的，而且在UTF-8編碼開始出現需要存入非基本多文種平面的Unicode字符（例如emoji字符）時導致無法存入（由于3字節的實現只能存入基本多文種平面內的字符）。直到2010年在5.5版本推出“utf8mb4”來代替、“utf8”重命名為“utf8mb3”并調整“utf8”為“utf8mb3”的別名，并不建議使用舊“utf8”編碼，以此修正遺留問題。
* Comparison of email clients#Features
* Comparison of Unicode encodings
* Character encodings in HTML
* Unicode and e-mail
* Unicode and HTML
* RFC 3629：UTF-8標準
* RFC 2277：IETF policy on character sets and languages
*  Rob Pike tells the story of UTF-8's creation
*  Original UTF-8 paper
* UTF-8 test pages by  University Hannover  and the  World Wide Web Consortium
* Unix/Linux:  UTF-8和Unicode的常見問題集， Linux Unicode HOWTO， UTF-8 and Gentoo
*  The Unicode/UTF-8-character table  displays UTF-8 in a variety of formats（with Unicode and HTML encoding information）
*  Online Tool for URL encoding/decoding according to RFC 3986 and RFC 3629（JavaScript，GPL）
* ''The Unicode Standard, Version 5.0, Fifth Edition'', The Unicode Consortium, Addison-Wesley Professional,2006年10月27日。ISBN 0-321-48091-0
* ''The Unicode Standard, Version 4.0'', The Unicode Consortium, Addison-Wesley Professional，2003年8月27日。ISBN 0-321-18578-1
子彈或定裝彈藥（，也稱round，霰彈槍彈則稱為shell）是一種使用在火器類槍械上、將彈-{}-頭/霰彈、推進藥、底火整合在彈殼中以方便裝填進膛室中並進行發射的彈藥。子彈是后膛火器專有的彈藥，前膛槍不使用定裝彈藥而是將火藥和彈丸分開裝入槍管；而氣槍因為不依賴推進藥提供發生動力，只裝填獨立的彈粒（pellet）、彈珠（shot或BB）或彈塊（slug）。
如果子彈沒裝彈頭，就稱為「空包彈」（blank）；如果沒裝發射藥和底火就稱為「惰性彈」（dummy）；如果沒能成功擊發底火並點燃發射藥，就稱為「啞彈」（dud或misfire）；如果發射藥燃燒沒能產生足夠能量將彈頭推出導致其滯留在槍管中，就稱為「卡彈」（squib load）。
彈-{}-頭，為任何武器系統唯一用以摧毀敵人的部分 。''2.'' 彈殼：它將所有部分組合在一起。 ''3.'' 裝藥：例如火藥或無菸火藥。''4.'' 輪緣, 為槍械上的提取器提供一個位置，用於抓住外殼，一旦發射就將其從腔室中取出。 ''5.'' 底火：點燃推進劑。
各種軍用定裝彈。
定裝彈由彈頭、推進藥、底火、彈殼所構成。彈頭或稱彈丸是用於摧毀物質或者殺傷人畜能力的投射物。推進藥（或稱發射藥）用來產生氣體推進彈頭。底火用來引燃推進藥，通常位於彈殼底端。彈殼則是這三者的容器，彈殼通常是用合金製造，霰彈發射時產生的能量並不大，因此彈殼除了底座以外通常用紙或塑料製造。
拋射物是由槍械發射、用來打擊目標的殺傷物，通常專指火器子彈的彈頭，又俗稱銃籽、子彈（不正確的俗稱）。如果是霰彈槍發射的則是彈丸和彈塊。在火器發射時，彈頭被推進藥燃燒後產生的急速膨脹的高壓氣體向前推射噴出槍口，在飛行中處於半穩定狀態，直到擊中目標。如果目標物是人體，由於其密度是空氣密度的一千倍以上，彈頭遭到阻力的抗衡，因此進入人體後就會產生小幅度偏轉/滾擺，尖銳彈頭的滾轉尤為明顯。用終端彈道學來說，由於尖銳彈頭前端接觸面積小，因此在目標物內受阻力的施力面積會轉移到彈頭弧形的表面上，造成施力來自於彈頭的兩側，所以儘管彈頭動能依舊強勁，但是穿透的路徑終究被阻力所影響，因此彈頭於體內的滾轉路徑無法預期，但大致上不會相差太多。然而這樣的運動模式卻是彈藥設計師所希望的結果：彈頭在體內的不穩定滾轉才有可能造成嚴重的殺傷。
彈頭又另外分為實心型、擴張型以及粉碎型三種。劃分依據為彈頭與目標物接觸後所產生的變化與效應。
以實心型彈頭來說，它的彈體基本為鉛製；也有為了加強穿透力而將彈體改為鋼芯/鎢芯的穿甲彈，或是含有磷化物燃燒劑的曳光彈或，以及穿透裝甲後還能引起燃燒的。不論是哪一種實心形彈頭，在命中目標後多半會形成縱向扭曲變形，而不容易形成橫向擴張或粉碎。可想而知這類型的子彈貫穿力很強，但是「立即喪失行動能力」（，俗稱為阻滯力，）的表現略遜於擴張型與粉碎型彈頭。然而擴張型與粉碎型彈頭的殺傷特性與效果都過於殘忍而引發人道爭議，因此在1899年《海牙公約》所發表的《禁用入身變形槍彈的聲明》中，各國軍隊都不得使用該型彈頭。其宣言如下：
實心型彈頭分為穿甲彈及全金屬被甲彈。
穿甲彈（，簡稱為AP彈）彈頭通常為鋼或鎢合金材質，具有較大的比重與質量且堅硬，通常用于破壞輕裝甲或反器材作戰，一般限定軍用。穿甲彈頭一定會加上一層銅質包覆層（又稱為jacket），再將彈頭的主材質從前方露出，或以黑/深色著色於彈頭前方。包覆銅是因為穿甲彈的材質過於堅硬，很容易造成槍管磨損，使槍管管徑變大，導致推進的燃氣會比彈頭先逸出槍口，降低準確度和子彈推力，因此通過包覆銅以延長槍管壽命。其次，如果沒有包覆銅，彈頭很有可能在擊中硬物後彈走。因此有包覆銅的穿甲彈能透過銅較軟的特性，當彈頭擊中時，銅會先變形並附在裝甲上，其後彈芯再貫穿裝甲。彈頭前方透露材質或以黑/深色著色的目的在於使射手更容易辨別彈種，以防用于擊殺人畜形成浪費。因為穿甲彈在擊中人類或動物軀體后不會形成一般彈頭的滾轉，自然不易引起大量內出血或深層廣泛的撕裂傷，除非擊中動脈與重要器官時才會引起死亡，并且穿甲彈的成本遠比一般彈種昂貴許多，所以如果用來擊殺人畜就顯得浪費。
北約7.62 × 51毫米全金屬包覆彈步槍子彈
全金屬子彈外殼的彈頭為鉛質或鉛銻合金以提升比重與質量。然而鉛質延展性過強以致於如果直接作為彈頭發射，會在擊發時碎裂或與槍管摩擦產生變形，最後由于不良的空氣動力結合而失去彈道精準性。因此將鉛質用銅完全包覆，使彈頭能夠承受擊發時的推進力又不會磨損變形。然而較輕的比重與質量使得全金屬包覆彈進入密度高的目標物，例如人體（人體密度為大氣的1000倍），會因為由慣性而產生的動能擴散于目標物上，以至於動能對目標物所產生的作用力結合入射角和反射角的效應而產生滾轉。這個滾轉為預期與期盼的效果，儘管子彈終端彈道的滾轉不可預期，然而滾轉的途徑勢必能夠造成深層廣泛的肌肉撕裂傷，甚至切斷動脈擊碎骨骼，使目標受到嚴重的傷害甚至死亡。
膨脹型彈頭不像實心型彈頭一樣具有強大的貫穿力。 膨脹型彈頭之所以「 膨脹」，是因為彈頭擊中目標物後會呈現橫向變形擴大，彈頭直徑的局部擴張能夠迅速將動能傳達到目標物上。膨脹型彈頭具有非常有效的停止作用。由於不強調穿透力，膨脹型彈頭都不具備尖銳的外型，反而採用圓鈍的線條，因此在設計上有平頭型、空尖型、軟尖型、異質彈尖型等。
膨脹型彈頭分為半被甲軟尖彈及被甲空尖彈。
大約在19世紀末期，由位於印度加爾各答附近的以口徑進行研發，所以又俗稱為「達姆彈」。達姆彈最早於1897年和1898年在印度西北邊區和蘇丹使用。這種彈頭與全金屬包覆彈的不同之處在於其金屬外殼沒有完全包覆彈頭前端，而讓彈頭的鉛質核心外露。當彈頭撞擊目標物（尤其是人體）時，由於鉛的延展性高，彈頭立即變形，呈現膨脹形狀。彈頭後端的包銅由於質量高，加上其仍然具有強大的慣性與動能，將彈頭前方的鉛壓碎，造成高速的破裂與擴散。同時由於彈頭自轉，鉛塊會沿自轉的方向擴散，也就是說鉛的功能類似彈頭緩衝撞擊的效用，然而在銅的高速擠壓下又會爆裂造成傷口嚴重撕裂。達姆彈不具備全金屬包覆彈的高穿透力，所以無法對高密度掩體後方的人體造成傷害。一般情形下達姆彈會對人體造成嚴重的撕裂傷，而破損的鉛彈頭也會增加外科醫師救治上的困難。
美國還開發了比達姆彈更有殺傷力的。
.357麥格農子彈；左：.357平軟頭型子彈，右：.357空尖彈，可以看到彈頭鈍形外緣一共有6個刻痕以加速彈頭變形擴張效率。
在半金屬包覆彈研發後不久，俗稱空尖彈的彈頭就在倫敦東南近郊的伍利奇兵工廠被開發出來。這種彈頭的外觀有兩種：
* 一種如右圖中右邊的.357空尖彈，這是原始的設計與外觀，尤其為了增加彈頭擴張與變形效率，往往製造廠會在像碗一樣的彈頭邊緣增加刻痕。因此當彈頭撞擊到目標時，目標形成阻力，與彈頭相抗衡，而刻痕作為無法承受反作用力的部位，引導反作用力將彈頭進行破裂、變形以及擴張。
* 另外一種與全金屬包覆彈相似，彈尖具有銅質包覆，但是內部完全中空以減少空氣阻力。也就是說這種彈頭能夠維持較高的初速與較遠的射程，但具備比達姆彈更好的「立即喪失行動能力」。由於內部中空的關係，前方的包銅會在撞擊目標物時，會比鉛更快變形，加上彈頭尾端的覆銅包裹封鉛的擠壓導致彈頭急速擴張，亦即9毫米口徑的空尖彈在擊中目標物體後會形成一個直徑在18毫米～ 21毫米的扁平物體，因此目標物就等同于被18毫米～ 21毫米不等的扁平物體撞擊而非遭到9毫米口徑彈頭的完全貫穿。
簡單地來說全金屬被甲空尖彈由於銅罩包覆的關係，較半金屬包覆彈具有穿透厚重衣物後再產生殺傷力的優勢，因銅罩會略微延緩鉛質部位破裂、變形以及擴張的速率。由於這種彈頭設計上優先考量變形與碎裂，所以在遭遇穿著厚重衣物的目標時，自然無穿透力可言，所以金屬包覆所帶來的附帶效應十分微妙。然而厚重衣物在對抗半金屬包覆彈上並非防彈護具一般有效，要看衣物材質與織成方式，以及被擊中的部位，在子彈的種類與射擊距離以及方位等多方條件的交互影響下才能決定擊中後的效果。
M43子彈。
俄羅斯的7.62×39子彈的使用十分廣泛，雖然其彈頭設計可以歸類為全金屬包覆彈，但同時也具有全金屬包覆空尖彈的結構，兵工廠會很有技巧的將鉛汁倒入銅質包覆殼內一直到灌滿為止。M43子彈的彈頭內部前端留有中空的空間，這樣的好處在於保持彈頭的初速與有效射程，並且在擊中目標後加速彈頭前端變形的速度與程度，使其於人體內產生的滾轉範圍變淺變廣而又不可預期，增加體內出血與肌肉撕裂的效果。
9 × 19毫米異質空尖彈彈頭。
粉碎型彈頭在擊中目標後會立刻粉碎，由於彈頭材料是質量較低的金屬或者陶瓷，所以能將動能一瞬間傳遞在目標上。這種彈頭貫穿力相當微弱，甚至連貫穿厚重的衣物都有困難，但是阻滯力很強。粉碎型彈頭跟擴張型彈頭一同被國際公約禁止用在軍事用途上，然而它們在反恐行動中卻有很大的用處。例如在拯救人質或反劫機的行動中，低貫穿力的彈頭可以減少擊斃人質或是貫穿機身造成失壓的可能性。FBI的人質拯救隊就配有此類彈藥。
葛雷瑟安全彈起源於1970年代初期，發明者以朋友艾文·葛雷瑟命名。葛雷瑟子彈本是由低品質粗製的手工子彈起家，發展到目前標準化量產的規模。葛雷瑟子彈與霰彈類似，霰彈是以一堆金屬珠子向目標拋射，而葛雷瑟彈頭是將細小的鋼珠（也就是，）用銅皮包覆，再用聚合物作蓋塞將彈頭密封。一旦擊中目標，彈頭很快就會碎裂，但是鋼珠會迅速「擠進」肌肉，造成和霰彈擊中人體類似的效果。藍色的葛雷瑟彈頭只能裝載細緻的鋼珠，所以貫穿力不會超過6吋，一方面由于圓形物體在高密度環境中所受阻力較大，另一方面細小鋼珠的動能有限，所以威力不大。銀色的葛雷瑟子彈較前者只能多推進不超過2吋的深度，因為銀色葛雷瑟子彈的鋼珠直徑比藍色更大。葛雷瑟子彈很適合執法人員使用，因為低強度代表著不會嚴重傷害到無辜的旁觀者或走避的人群（事實上失控的人群所造成死亡的機率更高）,光是結實的肌肉或舉起的手臂就能停住彈頭，入射角太大也會導致子彈失效，最多造成皮膚的淺層擦傷或肌肉淺層的瘀斑。一般執法人員與暴徒所發生的駁火環境為都會區域，亦即建築物或高密度物質結構多的環境，在這種環境下駁火往往會讓執法人員更擔憂問題。葛雷瑟子彈在撞擊到高密度物質時會直接粉碎，完全不會出現跳彈。不過葛雷瑟子彈仍然能貫穿輕薄的三合木板、疊砌的空心磚牆與直立90°的輕金屬板；而克維拉則只能撞破五層薄薄的布織布。
7N1子彈的艇尾型彈頭。
彈頭還可以依照尾端的形狀分為平底型與艇尾型兩種；平底型與艇尾型的區別在於平底型彈頭尾端直徑與口徑相符，而艇尾型彈頭尾端的直徑會略小於口徑。大部份手槍子彈彈頭採用平底型設計，因為彈頭承受火藥推進的面積大，並且可以跟槍膛保持緊密；艇尾型彈頭在空氣動力學上具有優良的氣動的效果，通常作為步槍子彈。
然而儘管平底型彈頭承受的火藥推進面積大並且氣密效果良好，原則上可以說是「高威力子彈」，然而大氣對於移動的物體有著不同的對待方式。當彈頭飛行時，其梭狀尖端能夠快速有效地將空氣「推開」，但之後會形成小小的真空，使大氣會進行補償合併，因此子彈的正後方會保持一個真空區域。由於子彈前方空氣被推開，大氣在回填時會優先填補真空的部份，也就是說空氣會追逐著這一塊真空區域並以被吸入的方式進行填補，持續呈現渦流狀，在子彈後方形成一股「拉力」。因為空氣渦流形成干擾，尤其對依賴慣性的拋射物其動能遞減的效率最快，所以大部分平底型子彈的有效射程不足。
有艇尾的彈頭穿過大氣時幾乎就像熱刀切凍奶油一樣，彈尖前方的空氣幾乎是被劃開而非被推開，且彈頭尾端直徑小於口徑，彈頭後方的真空區空間跟著縮小，所以大氣順著彈頭形狀進行合併而不是被推開後再合併。彈頭飛經之處大氣幾乎沒有被干擾過，因此不會產生渦流干擾彈頭。
沒有「艇尾」的彈頭威力比有「艇尾」的彈頭大，肇因彈頭受火藥推送面積大並且享有較佳的氣密效應於有「艇尾」的彈頭。6.5×50mm有坂子彈為了提升中到近距離的威力而採用平底型彈頭，為了降低反衝使三八式步槍易於操控，又採用了低藥量的彈殼設計，以致於彈頭有效射程只有460公尺，等於同時期美國.30-06春田步槍彈46%的射程。
我們可以從右上方圖片中的蘇聯7N1彈頭的前後中空看出子彈設計的端倪：彈頭尾端的中空設計不僅作為承受燃燒瓦斯的膨脹室以外，更誘導大氣以穩定的渦流流入彈尾。儘管渦流效應會產生拉力而降低出速，但渦流也能避免彈頭在飛行途中前後滾轉。為了加強彈頭的變形速度以提升殺傷力，彈尖采用半中空設計。然而這種設計有可能導致重心後移而發生滾轉，而滾轉原因在於鋼蕊頭有可能不平整，于是在彈頭自旋中發生重心移動，而將尾端中空化就可以通過渦流穩定彈頭。
兩種不同的12號霰彈藥筒；左邊的是8號的霰彈鉛丸；右邊的是Brenneke金屬彈。兩者均有「填充物」，填充物後方為「推進火藥」，最後就是「基座」（，採用凸緣式彈殼，低壓彈殼或者使用厚重膛式槍枝的彈藥均採用凸緣式彈殼。布倫內克是德國彈藥設計師的名字，他於1898年設計出這種螺紋狀彈頭，因此彈頭可以在滑出滑膛槍管後自旋而獲得彈道上的穩定度，同時也獲得精準度；換句話說布倫內克彈頭也限用於滑膛槍管。
霰彈其實就是長度70毫米的小罐子，也被稱為12號鉛徑，裡面裝有各種尺寸的鉛製彈丸。直徑比較大的稱為獵鹿彈，其中最大尺寸的稱為000（唸作「triple-aught」），也稱為「LG」。每一顆彈丸直徑約0.36吋，一枚70毫米霰彈只能裝載約8顆；最小的為0.24吋的鉛製彈丸，70毫米霰彈只能裝載約27顆（裝載量以粗估值計算，肇因為圓形容器盛載圓形物體的關係）。霰彈的威力與彈丸直徑成正比，殺傷面積/範圍則與鉛製彈丸直徑成反比（鉛丸直徑越小，噴散效果越佳）。
受限於彈丸形狀，霰彈不像其他子彈享有空氣動力學上的優勢，加上裝藥量比一般子彈少，因此霰彈的有效射程相當短。然而霰彈還是有特殊彈種，例如稱為QB-8（；「四合院」鹿彈）的穿甲霰彈，以及飛鏢彈（；又稱：鋼矛彈）。以普通無防護目標物來說，QB-8霰彈與獵鹿彈的威力不分上下，但是OQB-8霰彈的結構相當特殊，由切成八片小鐵餅的鋼條塞進70毫米霰彈中。擊發時火藥的威力會將鐵片預鑄形成類似成角錐狀，鋒利的邊緣更使得QB-8具有可怕的穿透力。然而過大的空氣阻力使射程受到相當的限制。鋼矛彈像是滿載的鋼釘罐，每一根鋼釘的後方還有小小的穩定翼，所以發射後能夠相對不受風阻的影響朝目標飛而去。
霰彈的尺寸較大，因此提供了設計上的變化空間。除了前面提到的QB-8霰彈與鋼矛彈之外，還有全尺寸的金屬彈頭，也就是整個霰彈只有這一枚彈丸，又稱為獨頭彈、金屬彈等。雖然金屬彈沒有特別的穿透力，初速不高（較步槍彈頭略慢），射程不遠（彈頭風阻大，均採平鈍形狀設計），但是如果在有效射程內，即使目標佩帶護甲，金屬彈依然能夠有效地造成目標嚴重鈍傷，引發大量內出血而死亡；如果肢體遭到擊中則會被粗暴地打斷，甚至影響之后的縫合接回手術。（金屬彈也有全金屬包覆空尖彈的設計與彈種，一樣會造成鈍傷，也會因為彈體自旋加上彈頭變形擴張而造成大面積的撕裂傷。）霰彈另外有全橡膠彈頭的彈種，這是一種沒有明顯彈性的橡膠所製成的彈頭。一般用於霰彈槍射擊訓練，不過更適合用來鎮暴，但是為了避免造成意外而擴大暴動的規模，鎮暴警察通常以跪姿朝暴民腿部發射，但依舊無法避免出現跳彈以至於眼球遭到擊中而致人失明的案例。
以下為霰彈的基本規格：
+ 鹿彈表（Buckshot Size）
尺寸/Size
直徑/Diameter
鉛質彈丸/10g
000或LG ("triple-aught")
9.1毫米〈.36"〉
00 ("double-aught")
8.4毫米〈.33"〉
0或SG("one-aught")
8.1毫米〈.32"〉
7.9毫米〈.31"〉
7.6毫米〈.30"〉
6.9毫米〈.27"〉
6.4毫米〈.25"〉
6.1毫米〈.24"〉
+ 美國標準鳥彈尺寸表〈American Standard Birdshot Size）
鉛質彈丸/10 g
鋼質彈丸/10 g
5.84毫米〈.230"〉
5.59毫米〈.220"〉
5.33毫米〈.210"〉
5.08毫米〈.200"〉
4.83毫米〈.190"〉
4.57毫米〈.180"〉
4.32毫米〈.170"〉
4.06毫米〈.160"〉
3.81毫米〈.150"〉
3.56毫米〈.140"〉
3.30毫米〈.130"〉
3.05毫米〈.120"〉
2.79毫米〈.110"〉
2.41毫米〈.100"〉
2.29毫米〈.090"〉
2.03毫米〈.080"〉
布倫內克彈頭的剖面。
布倫內克彈頭由著名的德國彈藥設計師（；1865–1951）於1898年發明。最初的布倫內克彈頭只是以鉛為材質，外部加上穩定翼的彈頭，與下面提到的佛斯特彈頭有相似之處。布倫內克彈頭的後方還牢牢附著著由塑膠、纖維與毛氈製成的材質，即使被擊發後也不會脫落。這個設計的用意在於增加彈體與槍管的氣密程度，並且增添大氣對彈頭的拉力。如果彈頭在彈尖上具有較大質量，通常容易發生提前墜落的問題，彈體的功能就是將拉力往後延伸而不會干擾到彈頭。彈頭上的螺紋穩定翼則幫助減少彈頭與槍膛的接觸面積，將摩擦力減少，自然也就提高了初速。
由於布倫內克彈頭為實心彈頭，因此在擊中目標後不容易變形，撞擊力因此提高許多。雖然這種「撞擊力」實際上就是貫穿力，但是由於彈頭平扁，布倫內克彈頭相較於彈頭在貫穿力與射程上仍有著很大限制（最好不要超過100碼的距離）。儘管布倫內克彈頭質量高且笨重，但是在空氣動力學與彈道學上，表現還是優於佛斯特彈頭。
目前市場上還有不少彈藥公司在生產布倫內克彈頭，位於漢諾威的 布倫內克公司當然也是販售公司之一，同時還販售軟殼金屬彈以及獵鹿彈。
卡爾·佛斯特於1931年針對滑膛霰彈槍所設計的，其特別之處在於彈頭為純空心類似毽子的均質彈頭。儘管彈頭的質量集中於前方，以致於讓人懷疑這種彈頭在離開槍口之後會呈現向前翻滾的飛行狀態，然而事實上它飛行時推開的空氣會在彈頭後方「抓住」（渦流所產生的拉力）彈頭尾端，而讓彈頭平穩準確地飛行75碼的有效射程。
一般來說只要是佛斯特彈頭，外觀上都會有“膛線”（跟布倫內克彈頭一樣）降低彈頭與槍膛的摩擦力同時協助彈頭穩定。部分的人相信布倫內克或佛斯特彈頭都會因為螺紋狀穩定翼與大氣產生推舉而導致自旋。實際并非如此，因為彈頭的初速至少在音速以上以平鈍的彈頭推開空氣時，彈頭兩側幾乎沒有空氣，尖彈頭才會因空氣與彈頭兩側接觸而有比較明顯的氣動效應。
穩定翼的另外一個功能就是保護彈頭本體不受到霰彈槍的阻礙。穩定翼會首先因為通過定型環而，如果定型環太小，那麼彈頭的精準度也會受到干擾。佛斯特彈頭比布倫內克彈頭還多具備一個優點—在必要的情形下佛斯特彈頭可以通過有膛線的霰彈槍發射。不過由于穩定翼會與膛線交互刮磨，槍管將會有嚴重的鉛污。
最大的特點就是可以發射比原來口徑小的彈頭。但是大部分軟殼彈無法由滑膛槍管發射，少數例如布倫內克·魯賓軟殼彈，以及Gualbo彈。軟殼彈的設計目的在於利用小口徑彈頭提高霰彈槍的準確度與射程，于是不用購買獵槍與特定彈種也能達到類似的效果。軟殼彈也可以改為空尖彈頭來減少目標被擊中後脫逃的機率。
前南斯拉夫的7.9毫米（7.92×57mm毛瑟或8毫米x 57）毛瑟空包彈。
子彈也有用來進行訓練的種類，如果子彈沒有彈頭而彈殼內有火藥而底部具有底火的子彈被稱為空包彈，可供部隊進行演訓，在不引起傷亡的情形下讓部隊習慣戰場的氣氛；在電影中可以增加視聽效果。空包彈沒有彈頭所以不會造成人員傷亡或物資損失。
由於空包彈必須能夠提供槍械運作的來源，所以尤其是自動武器的槍口，必須加裝轉換器將擊發時噴發出的高壓與高溫的瓦斯氣體維持正常膛壓幫助槍機運作。為了防止火藥流失，空包彈內部前方會有火藥塞蓋，於擊發時會有如子彈一樣向前射出，因此在特定範圍內會仍然會造成人員穿透傷，而高壓氣體也會造成人員嚴重燒燙傷，因此在使用空包彈時應該抱持嚴肅的態度並視同使用一般子彈的立場。
專門提供槍械展示、演練與維修用的但是無法發射的假子彈被稱為惰性彈，也稱訓練彈，一般由次品彈頭裝配，彈殼有鉆孔或有識別壓印，彈殼內填充惰性物質配重。不過由於有些假子彈一樣具有彈頭，為了避免在槍枝維修時發生意外走火，假子彈均有特殊的記號供維修人員識別，例如5.56毫米NATO M199子彈的彈殼就有縱向凹槽以供識別。也有假子彈以塑形製成，但是會與空包彈的辨別產生誤會。
民用市場上專門設計用來幫助射手測試槍機功能和練習擊發動作的惰性假彈則被稱為，原因是這種訓練彈最早是由美國A-Zoom?公司（現為Lyman麾下品牌）出品，后來因為產品暢銷，其“Snap Cap”的上市品牌就變成了代表所有類似產品的通用商標。
屬於無危險性的子彈造型合金裝飾品，外觀大小與所仿造的子彈相同，但彈殼內部為實心或中空而不填充火藥及底火，彈頭空心或中空且多依螺牙固定在彈殼上，且合金材質既不耐熱也不耐壓力，無法填充火藥供射擊使用。多在槍枝彈藥管制嚴謹的國家作裝飾品及收藏品販售（多配合操作槍作展示用途）。如為求仿真而使用實彈金屬，則破壞其內部構造使之無法填充火藥或擊發。如試圖在裝飾彈內填充火藥欲擊發則會發生膛炸對射手造成危險。
曳光彈由於彈尖有一層含有磷或者鎂的塗料（曳光劑），因此在射出槍管後由於彈頭以高速衝過大氣，於是在彈尖形成高溫而點燃這些礦物塗料，因此彈頭在飛行中會發亮，並在光源不足或黑暗中顯示出彈道，順便在打到可燃物時引起燃燒。
使用曳光彈的好處在於能夠協助射手於光源不足或黑暗中修正彈道，然而雙刃之一體兩面也就是會暴露出射手的位置（所謂“tracers work both ways”），因此遭到目標還擊或逃脫。針對這一點彈藥製造商也提出新的解決方式，就是讓彈藥的火藥減量，透過降低彈頭初速到「延遲」點燃彈頭易燃物質的方法，這樣一來曳光彈就會在飛離槍口一段距離後才會開始指示彈道。不過凡事均有兩面性，因為曳光彈說穿了就是以普通的實心全金屬包覆彈頭加上磷鎂塗料改製而成的，亦即也具備同樣的殺傷力，然而在推進火藥減量後彈頭不論在威力、初速以及有效距離上就約略打折扣。
M856曳光彈在靶場的射擊實況。
美國與北約的曳光彈頭基本上以鍶混合鎂進行彈道指示，並且透過鎂的燃燒作用形成燃燒效果；所謂「穿甲燃燒彈」就是在銅皮包覆鎢鋼外層增加這一層塗料；俄羅斯與中國人民解放軍傾向使用鋇作為彈道指示顏色，亦即在戰況下如果曳光彈呈現綠色，就是來自俄羅斯或中國的曳光彈；如果是亮紅色就代表彈頭來自美國或北約組織。
如果曳光劑的引燃性能不足，那么可以考慮把彈頭做成空心的，里面填入引火藥劑，即是專門的燃燒彈。
而針對曳光彈會暴露射手方位的缺點，近年來也有人將彈頭尾部挖空并置入半導體發光二極管（可見光或紅外線）、使其光亮只能從射手的方向看見，不過這種做法的成本可想而知。
高爆彈的彈頭結構基本上就是炮彈的結構：引信加引爆藥。當然這也決定了子彈不能太小，典型地是在 .50BMG 之類的口徑上才有，例如 。
是一項在 .50BMG 口徑的狙擊步槍及子彈上加入激光制導功能的嘗試。
直壁半凸緣式.357麥格農空尖子彈；左：.357平軟頭型子彈，右：.357空尖彈。兩者採半凸緣式彈殼，然而麥格農子彈裝藥量高因此具有高膛壓的特性，所以我們可以看見在凸緣底板上面有一淺層退殼溝讓左輪彈倉的頂殼針將彈殼頂出。
彈殼大部份以黃銅合金製成，也有少數種類子彈的彈殼以鋼材製成，例如7.62×54R子彈；霰彈由於槍彈并不需要擠壓膛線因而摩擦阻力較小，不需要承擔太高的膛壓，所以彈殼為聚合物或者硬紙板塑形製成。彈殼的功能在於附帶底火並儲放推進火藥，同時讓底火爆炸點燃推進火藥。彈殼在推進火藥燃燒時會因為燃燒產生的高壓略膨脹將膛室剩餘極小的空間填滿，包括彈殼底板與槍機之間的狹縫，以及彈殼頸部與槍管融合的部位以形成氣密狀態，如此彈頭才能有效地射出（一般來說膛室不會跟子彈作完全緊密的吻合，以減少無法順利進彈或擊發後彈殼膨脹以致不能順利退殼的窘況）。擊發時產生的高壓氣體從槍管向前排出後彈殼壓力減少，因此彈殼的金屬彈性會讓本身稍稍回復原狀就可以順利退殼。
彈殼依照與彈頭接合處的形狀是否內收而分為兩種，亦即「瓶頸式」和「直壁式」兩種。瓶頸式為一般常見的步槍彈殼形狀，顧名思義呈瓶狀，從前向后分為殼頸（case neck）、殼肩（case shoulder）和殼體（case body）三部分，殼頸與彈頭接合而且直徑明顯小于殼體，兩者之間的殼肩為錐臺狀，其斜面之間的夾角又稱為α角。而形狀呈圓柱形、前后直徑大致相同、或者形狀沒有明顯彎曲的彈殼，就可以歸類為直壁式彈殼，在手槍中更常見。
殼體尾端的底板稱作殼頭（case head），也可以依照形狀分為「縮緣式」、「無緣式」、「半凸緣式」、「凸緣式」以及「帶式」五種形式。所謂凸緣、無緣或者縮緣指的是「彈殼底板的直徑跟彈殼直徑之間的關係」，以縮緣式底板來說就是底板邊緣直徑明顯小於彈殼主體直徑的意思；無緣式底板指的是底板邊緣直徑和彈殼主體直徑相近；半凸緣式底板邊緣直徑明顯大於彈殼主體直徑，不過仍有退殼溝；凸緣式底板邊緣直徑極明顯地大於彈殼主體直徑，而且沒有退殼溝設計；帶式除了類似無緣式底板的底部外，在退殼溝前方的彈殼上另有一帶狀環。
無緣式與凸緣式為目前彈藥市場規格主流；現代全自動或半自動槍械的子彈大部份使用無緣式的彈殼，而膛壓低或者槍械上有厚重膛式者多採用凸緣式彈殼。這個現象普遍原因在於無緣式彈殼的彈藥產生的氣體較多，除了推動彈頭之外也要提供槍機的運作動力，自然膛壓較高，因此擊發後彈殼會因為膨脹而頂住膛室，因此需要槍機上的退殼勾將彈殼從藥室中「抓」出來；縮緣式容易發生「抓不住」的問題，而半凸緣式彈殼又會造成槍機頭橫向尺寸無法縮小的問題，因此在折衷之下無緣式彈藥為最佳選擇。
原則上黃銅合金的金屬彈性較佳，延展性也較佳，適合進行彈藥重裝的作業。鋼鐵材料彈殼不宜重裝彈藥，由於延展性不佳的關係；這個取向在於回收的彈殼中鏽蝕變形的佔大部份比例，黃銅彈殼由於柔軟比較容易進行翻修，鋼鐵彈殼則否。對於民間槍械玩家來說彈藥重裝的作業實在稀鬆平常，然而彈殼也有金屬彈性疲乏的問題，終究會發生，因此為了安全起見，同一個彈殼不宜重裝太多次；至於在重裝前應該仔細檢查彈殼，如果有變形或龜裂細紋出現得不予裝填。
有的射擊玩家狂之所以經常進行彈藥重裝固然能滿足DIY的心態，其實與經濟考量也有很大的關係，再者，自行裝填的彈藥也較制式化彈藥具備更多彈性與變化；只要有一臺沖壓機合適的工具，這些射擊狂即可自行進行下列工藝程序：
*彈殼塑形：校正輕微變形的彈殼。
*去底火：通常是對拳師式底火進行去除動作，柏丹式底火的去除困難度非常高，往往去除程序不純熟就會造成彈殼底部破壞，因此射擊狂普遍不傾向使用伯丹式底火。
*上藥：將火藥倒至彈殼內；這個部分有如作菜，灑鹽拌醬油，鹹淡隨個人，迷信威力又不怕膛炸出意外可以多加。
*安彈頭：將彈頭接回彈殼並且做好箝封，這時候子彈已經是成品可供使用了。
，在不違反法規的狀況下可以依照想要的目的更換彈頭；自行更換火藥也可以改變彈頭的性能而提高準確度。
推進藥，又稱裝藥或發射藥，是儲存在容器內，用以推動彈射體的推進劑。
基本上火藥的成分主要分為硝、碳、硫三種原料，其功能如下：
*硝的功用是在火藥燃燒時產生氣體提升威力。
*硫的功用則在於降低燃點到250℃，在燃燒時則提高溫度到330℃。
透過三個元素比例的改變就會產生不同的彈道效果。最早期的火藥又稱為「黑火藥」，然而事實上色澤接近於非常深的灰色。自從人類發明火藥並且透過爆炸時產生的威力體會到其威力可以轉化為「能」，或者形成一種「作用力」，因此產生軍事與武器上的變革。然而早期的火藥受限於工藝水準，不僅威力有限並且危險，使用起來也相當不方便，因此到了1586年（明神宗萬曆十四年），西班牙部隊意識到將火藥進行模組化能提升攜帶與使用上的效率，因此將定量的火藥與彈丸以厚紙片裹成一個紙筒，直接用通條推入槍膛底準備擊發。如此可以加速射擊裝填的效率，射手不需要再將火藥包撕開或咬開之後再將火藥倒入槍膛，之後將一小塊布匹以通條沖入槍膛將火藥定形，拉出通條後再將彈丸以通條摏入槍膛與火藥壓實，最後拉出通條準備射擊。
這樣算起來直接將厚紙板包裹的定量火藥與彈丸摏入膛底準備發射比起前面的射擊過程簡述至少減少了八個動作（實際上把所有細節動作總計起來共有43項；見）。中西班牙部隊以25,000人以及彈藥上的雙重優勢擊敗荷蘭新教徒與英國部隊聯軍，自損4,500，殺敵6,000人（雖然人數與彈藥上佔優勢但是槍枝的精準度不良以及槍枝與彈藥性能容易受到天候干擾以至於沒有將優勢倍乘）；至於「彈藥紙」也從此留在字典裡。
雖然模組化的彈藥帶來相當的便利性，然而當時尚未突破的瓶頸包括火藥的精純度與產量，尤其精純度不足因此在發射時只有大約一半不到的成分能夠形成氣體，而其餘的成分在燃燒後便成固體狀態的殘渣，所以說當時的火藥的能量轉換效率相當不理想，使用黑火藥的彈頭初速平均無法突破音速，威力相當於今天的9毫米手槍子彈。
以精純度而言，事實上火藥的燃燒率跟壓力或者溫度缺乏關連；火藥的燃燒本身是種非常複雜的反應，同一個體積內有些火藥產生熱量但是某些火藥反應反而會吸收熱量，真正要達成燃燒率基本上反而跟火藥顆粒大小有關；火藥顆粒總體表面積越大，能夠進行燃燒反應的區域就越小，燃燒速率自然較低。當時尚未突破的工藝技術瓶頸就是無法有效地降低火藥顆粒尺寸。
我們可以說受限於無法提升精純度的火藥在使用方面就會產生下列的問題：
#由於純度不足所以火藥自然含有較多的水分與溼度，因此造成燃燒不完全而產生大量的白煙，一方面會直接暴露射擊位置，二來會遮蔽自身的視線無法迅速進行射擊結果觀察與彈道修正。
#精度不足的原因在於生產火藥時顆粒無法細緻化，因此火藥燃燒後會留下大量的殘渣殘留在槍膛或砲膛中。對於當時的槍砲來說在持續射擊數發不等之後，就會形成對於後續的彈藥裝填造成困難，因此必須不斷地間歇地進行清除程序，而如此又會降低發射速率。
#殘渣中的硫酸鉀和碳酸鉀，成分容易造成膛壁腐蝕，通常導致槍砲威力不足，或者膛炸。
前面敘述早期的火藥精純度不足造成威力有限的原因多半都是物理性的，以化學性方面來說就是硝的比例不夠高。對於什麼都好奇而什麼都研究的偉大哲學家羅吉爾·培根曾經在1242年於自撰的「De Mirabili Potestate Artis et Naturae」（論藝術與自然的奇妙力量；Mirabili意為「wonderful」、「wonders」以及「miracles」）提到「將七份硝石、五份新鮮榛樹枝、和五份硫磺放在一起，你就可以創造雷鳴與毀滅。」
然而經過換算事實上在培根的配方中硝的比例只有41.2%，早期的中國火藥配方中硝的比例最多也只到60%左右，還不及於現代配方的75%。前面提到由於硝是火藥燃燒時產生氣體的來源，如果配方中硝的比例低那麼自然產生氣體的量也就低，至於爆炸的威力就不用再提了。
條狀（cylinders）無煙火藥。
西元十九世紀是所有部隊揚棄傳統火藥的時間分水嶺，一方面是底火（的發明與出現，底火在西元1830年問世，西元1850年代起開始應用，西元1860年代起成為後膛填裝彈藥的一部分）；二來是新式無煙火藥的出現，包括：
*線狀無煙火藥（英軍於1889年開始採用，1891年正式成為Mark I火藥），
然而Mark I火藥仍然含有比較高的含硫量，因此導致槍砲管容易產生侵蝕，為此因而產生不含硫的火藥需求，並且能夠精製出不同大小的火藥顆粒（grain；黑火藥會受到溼度影響自然結成大小不一的granules/塊狀）。新型火藥含硝量高達70.5份，餘下29.5份為碳。英國所製造最細緻的火藥粉稱為「無硫配方火藥」，不過這個配方指的是原料為分開研磨到最細緻的程度再與以混合，並且依照研磨程度編列序號，從「sulfur-free gunpowder；SFG n，n代表號數」（無硫火藥X號）：SFG 12，SFG 20，SFG 40，以及SFG 90，最細緻的火藥可以達到粉篩無殘留的程度。
無煙火藥基本上由單基的硝化纖維混合超過五成以上的雙基硝化甘油（；double-base powders），偶爾以硝化甘油混合三基的硝基胍（；triple-base），以溶劑製成球狀、條狀以及片狀推進劑，並且添增穩定劑與轉化劑。雙基推進劑多半用在小口徑武器上，例如手槍或者自動步槍；威力較大的三基推進劑則運用在大口徑火炮上，例如艦炮、坦克主炮等。
無煙火藥之所以無煙在於燃燒過程中只產生氣體，而黑火藥經過燃燒後還會留下過半的硫化鉀和碳酸鉀，造成裝填困難與產生鏽蝕。
曾經有人發現前蘇聯曾經於7.62×39子彈的推進火藥內意外發現粉狀的甘蔗渣；經過以M193子彈進行實驗結果發現，當M193子彈採用相同的蘇聯配方作為推進火藥發射後，原來940m/s的初速會躍升為1043m/s，相當的驚人。很有可能這是一種單基硝棉的改良，透過混合粉狀甘蔗渣以增進火藥燃燒速率；然而使用這種火藥會導致槍機與槍管壽命退減，肇因於槍機必須承受更高的膛壓，以及槍管被高速彈頭加快磨損機率（見）。
造成子彈革命性的演變歷程除了西班牙人想出將彈頭與推進火藥模組化的觀念之外，底火（，也稱雷管）的發明與運用是子彈第二個決定性的改變（第三個是使用無煙火藥）。底火的發明者為愛德華·查爾斯·霍華德，身為諾佛克公爵最小的兒子，對於化學有無窮的興趣，尤其是對水銀，但是不幸於32歲英年早逝。
愛德華在1800年於研究水銀的過程中發現可以藉由硝酸分解水銀，再將乙醇加入其中製成溶液，經過燥化之後就會留下白色的酸性鹽（Hg(ONC)2；雷汞）。這種鹽塊的特性相當特別，對於敲擊、震動或摩擦，甚至溫度超過150℃就會產生爆炸，所以透過聯想被運用在作為起爆黑火藥的作用上。
1816年底火的應用與專利由蘇格蘭亞伯丁郡貝爾赫維的佛西斯（Alexander John Forsyth）教士所發明與申請，佛西斯又將霍華發現的汞鹽加上氯酸鉀、硫、碳等物質以增加安全性，並且起爆方式也簡化到只有撞擊（concussion；這裡不是作「腦震盪」的解釋）才能引爆。
其實佛西斯之所以發明底火出自於他有喜愛打鳥的嗜好；簡單來說早先的簧輪槍在後膛有個小小的藥鍋（powder pan），佛西斯一如當時的射手一樣必須先將彈丸用通條推入後膛並且將彈丸與火藥壓實，再將黑火藥先從槍口倒入。接下來已據槍姿勢將火藥再倒入藥鍋中，將燧石夾往前（槍口方向）扳至定位，然後扣扳機。扳機連動鬆開燧石夾，於是燧石夾簧片鬆開發揮彈性，將燧石夾往後彈，同時藥鍋旁邊的磨輪也會同步向後轉，燧石夾就會撞在轉動的磨輪上，而發出火花引燃火藥，火藥就會燒到後膛中的火藥引起擊發。問題是藥鍋中的火藥還要噗哧冒著煙一段時間才會「轟」的一聲把彈丸射出去，往往在火藥冒著煙的時候，佛西斯的目標早已獲得充分的警告，儘管鳥類不一定知道那是什麼，但是林子裡突然出現白煙與惡臭絕對不是好事，所以先逃難比繼續觀察來的重要。佛西斯就是在絕不願意成為射擊空氣與樹枝冠軍王的心情下研發出世界第一個底火。
底火的運用隨著設計的演變又分為針式底火、凸緣式底火以及中央式底火。
針式底火由卡西米爾·勒福舍於1828年發明，但是到1835年才取得專利，針式底火的特徵在於彈殼底端上有一根預留的小撞針，擊鎚必須打在這根撞針上才能擊發子彈，因此針式底火子彈必須很準確地裝填在一定的位置才能準備擊發。然而這種底火一直到1852年勒佛歇去世以後才由他的兒子尤金·勒福舍推廣，並於1850年代到1880年代大行其道一時。當時歐陸各國陸軍，包括法國、義大利、西班牙、瑞士以及瑞典都採用這種底火運用在左輪手槍與霰彈槍的子彈上，口徑5毫米－15毫米都有，連美國南北戰爭也成了針式底火的舞臺；美國人很快地就瞧不起這個設計，這種彈藥與底火沒有柯爾特的產品來的有威力，由於彈殼內的黑火藥有填充上鬆散的問題。
針式底火最後還是被凸緣式底火以及中央式底火所取代，原因就在於前面所提到的問題，採用其他兩種底火的子彈裝填槍枝速度絕對快上好幾倍；如果射手因為不論是裝填、搬運、攜帶針式底火子彈時，只要抵觸到彈殼上小小的撞針，就會發生走火並造成意外。所以在初期沒有競爭者以及趕時髦的狀態下，呼風喚雨一時的勒佛歇式針式底火子彈就落寞地退出歷史舞臺了。
史密斯威森第二批Model 1 .22左輪手槍，製於1857年。
凸緣式底火起源於1857年當時的.22 BB子彈，這種子彈簡單到彈殼裡面連火藥都沒有，純粹依賴擊槌在底火上來一記就發射出去了，可以想像威力不會比空氣槍的子彈好多少，所以純粹用來作室內射擊練習。後來的.22 Short子彈就添加了4格令（0.26公克）的黑火藥，用在史密斯威森所生產的第一款左輪手槍上。
後來又演變出.22 Long子彈，火藥含量5格令（0.32公克）。透過.22 Long子彈的應用證明而成功而演化出.22步槍子彈，從此應用至今。然而演變的胃口也越養越大，很快地躍升到.41 Short子彈以及.44 Henry Flat子彈，最後一直到.58 Miller子彈，不過從此凸緣式底火子彈也就開始被中央式底火子彈所取代。
取代的原因很簡單，儘管底火位置就在彈殼後端的彈殼底板（也稱為凸緣；rim）裡，對於槍枝的設計與使用造成很大的方便，然而由於彈殼底板也是彈殼的一部分，加上為了讓槍枝的擊槌能夠有效經過打擊引發底火，因此彈殼不能太厚，也因此用在比較大的口徑或高裝藥量的子彈上，就會發生因為瓦斯膨脹的壓力造成彈殼與彈殼底板的分裂，而這也就是大口徑凸緣式底火子彈停止應用的原因。
中央式底火比起前面兩種底火可以說算是完美；第一就是彈殼可以回收重新使用（一般只回收「拳師式」底火彈殼）；第二就是彈殼不用受到底火特性的制約，前面的凸緣式已經說明不適用大口徑或高單位裝藥量的子彈；針式底火更不可能用於彈匣，很可能在將子彈進行裝填的時候就引發走火，炸傷射手的手指與手掌。
說起中央式底火其實又分兩種：
*拳師式底火：這種底火像是非常迷你的月餅，裡面包著底火藥；事實上就是個迷你雷管，鑲嵌在彈殼的底部。底火被撞針沖擊的部位叫做擊鉆，撞針沖撞擊鉆而引發爆炸，繼而點燃無煙火藥燃燒產生瓦斯，最後將彈頭推出去。
*伯丹式底火：這種底火由北軍上校於1870年發明的底火；這種底火像是個迷你小碗反扣在彈殼底板中央，扣住的內部就含有火藥；不同於拳師式底火，柏丹式底火的擊鉆就是彈殼本身，撞針沖撞在這個反扣的碗底，碗底向內凹入引發火藥爆炸，爆炸的威力從彈殼底部的兩個小孔傳遞進入彈殼內部引起火藥燃燒，進而完成擊發的程序。（見）