Kodowanie Shannona-Fano – nazwa obejmująca metody kompresji bezstratnej wynalezione równolegle przez Claude’a Shannona i (opublikowane odpowiednio w 1948 i 1949).
Nazwa „Shannon-Fano” może w zależności od publikacji (oraz kontekstu) obejmować obie metody, metodę Fano lub metodę Shannona.
Kodowanie te dla dyskretnego źródła danych znajduje kod prefiksowy o zbliżonych do optymalnych kodach. Metoda Fano osiąga zazwyczaj słowa kodowe krótsze o 1 bit od metody kodowania Shannona.
Kodowanie Shannona-Fano jest używane w kompresorze ZIP, przy wybranej metodzie kompresji implodehttp://www.pkware.com/documents/casestudies/APPNOTE.TXT (dostęp 2008-09-20)..
Algorytm tworzenia słów kodowych Algorytm przedstawia się następująco: s – ciąg symboli ze zbioru posortowanych według prawdopodobieństw funkcja Shannon-Fano(s) (metoda Fano): Jeśli s zawiera dwa symbole, do słowa kodu dla pierwszego symbolu dopisz 0, do słowa kodu dla drugiego symbolu dopisz 1. W przeciwnym razie, jeśli s zawiera więcej niż dwa symbole, podziel je na dwa podciągi s1 i s2 tak, żeby różnica między sumą prawdopodobieństw symboli w s1 i s2 była jak najmniejsza. Do słów kodu dla symboli z s1 dopisz 0, do kodów dla symboli z s2 dopisz 1.