Však jo. Standardně kde je číslo, tam má být u8 nebo s8. Používat znaky na místo čísel je prasárna. Stejně jako třeba send( int bytes, uint8_t *data)
Ale historicky byl char jako signed. Amíkům to vyhovovalo, do plusu ASCII, do mínusu chyby. Zbytku světa to dělalo problémy, protože ISO8859-x a podobně. A využití bitu 7 jako indikátoru, že znak pokračuje v dalším bytu u UTF8 vyloženě použití signed char moc nepřeje... Konečně se to sjednotí a navíc na rozumnější variantě.