How to convert ra&dec between different epoches? For example, how to convert B1950.0 into J2000.0?

Do we need to know the proper motion of the star and the time it was observed?
The difference between B1950.0 AND J2000.0 is not really concerned with proper motion., they refer to the definition of the coordinate system. Thus a star with zero proper motion would still have different B1950 and J2000 coordinates.

Usually (but not always), if you quote a position as equinox 1950 you are implicitly assuming that this is epoch 1950 (unless otherwise stated). And similarly for J2000, the implicit assumption is that the coordinates refer to epoch 2000 unless you specify otherwise.

Thus there are two things you needs to do. One is to apply a correction for (roughly$^{*}$) 50 years of proper motion (if indeed you only have the epoch 1950 position; or maybe 66 years if you want the coordinates of the star now). Second is to apply (roughly) 50 years of precession to the coordinates to put them in the J2000 system.

This description seems reasonable.

$^{*}$ There is some detail about B= Besselian years and J = Julian years which you can read about here.