The number or character entered through keyboard gets converted to equivalent ASCII code & it get stored on RAM in the binary form. What is the exact procedureon hardware that converts the ASCII value to Binary?

The characters entered through keyboard gets converted to equivalent ASCII code & stored on RAM in the binary form. What is exact procedure to happens on hardware that converts the ASCII value to equivalent binary form?

In designing component package / framework using Interface programming, where is the best place to put the Interfaces to reduce dependencies? In a single assembly that is referenced by other assemblies. In the domain assembly near the class that inherits the interface? or In the client assembly where the interface is being used?