In this paper, we propose an adaptive low-power bus encoding algorithm based on weighted code mapping (WCM). The WCM algorithm transforms an original bus data vector to a low-energy code through one-to-one mapping. The code mapping is determined by the data probability distribution in the original sequence. The WCM algorithm considers both the self and coupling capacitance of the bus wires. A window-based adaptive encoding algorithm is proposed to improve the energy saving by adaptively changing the code mapping for different data probability characteristics. Experimental results show that the proposed algorithm outperforms the existing coding algorithms by either significantly lower computation/hardware complexity or higher energy savings.